2012-11-28 188 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/ –