2012-11-28 121 views
9

我试图做一个本地 XML文件解析的一些同事“应用”和我使用的是当前函数来检索文件:路径与反斜杠与前进路径斜杠的JavaScript

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, "/") 

但它似乎并没有这样的伎俩。

你们能帮我吗?

+0

你是如何做替换呼叫的?你可以添加到你的例子吗? –

+0

如果提供的答案解决了您的问题,请记住接受它。 –

回答

14

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

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

请参阅this example on jsfiddle

+0

这仅适用于您已更改OP的输出。他的路上从未有过双重斜线。单斜杠get被视为转义字符,因此您的替换不起作用。 –

+0

不,我不这么认为。我很确定'ActiveXObject(“Scripting.FileSystemObject”)'用适当的斜线创建了有效的路径。 –

+0

不,它不,http://jsfiddle.net/NWCAn/153/ –