问题 路径与反斜杠到路径与正斜杠javascript


我想做一个 本地 xml文件为一些同事解析“应用程序”,我正在使用当前函数来检索文件:

function ShowFolderFileList(folderspec) {
    var fso, f, f1, fc, s;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f = fso.GetFolder(folderspec);
    fc = new Enumerator(f.files);
    s = "";
    for (; !fc.atEnd(); fc.moveNext()) {
        var pathString = fc.item();
        $("#test").append(pathString + "<br />");
    }
}

这个函数的问题是它返回一个类似于的字符串:

C:\Users\SomeUser\Desktop\cool\Archief\CDATA1.xml

我需要替换反斜杠来转发整个字符串的斜杠。 这个怎么做?

我尝试了替换方法:

pathString.replace(/\\/g, "/")

但它似乎没有做到这一点。

你们能帮助我吗?


3713
2017-11-28 15:28


起源

你是怎么做替换电话的?你可以将它添加到你的例子中吗? - David Pärsson
如果提供的答案解决了您的问题,请记得接受它。 - David Pärsson


答案:


replace 方法不会更改字符串的当前实例,但会返回一个新实例。看看这是否有效:

pathString = pathString.replace(/\\/g,"/");

看到 关于jsfiddle的这个例子


15
2017-11-28 15:33



这只能起作用,因为你已经改变了OP的输出。他的道路上从未有过双斜线。单个斜杠被视为转义字符,因此您的替换将无效。 - Shannon Hochkins
不,我不这么认为。我很确定 ActiveXObject("Scripting.FileSystemObject") 使用正确的转义斜杠创建有效路径。 - David Pärsson
不,不, jsfiddle.net/NWCAn/153 - Shannon Hochkins
我同意非转义字符串不起作用,如您的示例所示。但话说回来,我很确定OP的字符串 是 正确转义,因为在OP的示例中显示它是由提供文件系统访问的Microsoft库创建的。 - David Pärsson