使用folder.name或file.name Javascript类时,返回的值包含%20个字符,而不是实际文件或文件夹名称中的空格。
例如:
if (sFolder instanceof Folder) {
folderArray.push(sFolder.name);
}
返回:
文件夹%20one,文件夹%20two,文件夹%20three
我需要的是:
文件夹一,文件夹二,文件夹三
同样的事情发生在文件中,如果文件名中有任何空格,则用%20替换它们。如果文件夹名称包含1个甚至多个空格,如何删除这些字符?
答案 0 :(得分:3)
答案 1 :(得分:2)
使用decodeURI()
decodeURI('Folder%20one, Folder%20two, Folder%20three');
// -> "Folder one, Folder two, Folder three"
答案 2 :(得分:0)
我发现基本替换方法只删除了要替换的字符的第一个实例。 DecodeURI是一个更好的答案,但我也发现你可以在replace方法中使用以下表达式,并且可以连续使用该方法用于不同的字符集,这不是我为该方法阅读的文档。
if (sFolder instanceof Folder) {
folderArray.push(sFolder.name.replace (/%20/g,' ').replace ('.html', ''));
}