Pil*_*iis 20 javascript regex replace
我有文件路径的字符串.我想用双反斜杠("\\")替换所有单反斜杠("\").
var replaceableString = "c:\asd\flkj\klsd\ffjkl";
var part = /@"\\"/g;
var filePath = replaceableString .replace(part, /@"\\"/);
console.log(filePath);
Run Code Online (Sandbox Code Playgroud)
控制台告诉我它.
c:asdlkjklsdfjkl
Run Code Online (Sandbox Code Playgroud)
我发现这样的事情,不幸的是它没有用. 用\替换\
Pra*_*h K 10
var replaceableString = "c:\asd\flkj\klsd\ffjkl";
alert(replaceableString);
Run Code Online (Sandbox Code Playgroud)
这会提醒您,c:asdlkjklsdfjkl因为'\'是一个不会被考虑的转义字符.
要在字符串中加一个反斜杠,你应该做这样的事情.
var replaceableString = "c:\\asd\\flkj\\klsd\\ffjkl";
alert(replaceableString);
Run Code Online (Sandbox Code Playgroud)
这会提醒你 c:\asd\flkj\klsd\ffjkl
如果你希望你的字符串默认有'\',你应该将其转义..使用escape()函数
var replaceableString = escape("c:\asd\flkj\klsd\ffjkl");
alert(replaceableString);
Run Code Online (Sandbox Code Playgroud)
尝试:
var parts = replaceableString.split('\\');
var output = parts.join('\\\\');
Run Code Online (Sandbox Code Playgroud)
就个人而言,由于我不熟悉reg exps,因此在处理非字母数字字符时,我倾向于避免使用它们,这既是因为可读性,也是为了避免奇怪的错误.
您的代码中有几个问题.
要获取\字符串变量,您需要转义它.
当您创建这样的字符串时:replaceableString = "c:\asd\flkj\klsd\ffjkl";带有\before的字符被视为转义序列.因此在字符串创建期间,它会尝试解释转义序列\a,因为它无效,因此会将其存储a到字符串中.例如,\n它将被解释为换行符.
我假设@它来自.net示例.Javascript不知道"原始"字符串.
从正则表达式中删除引号.
这会做你想要的:
var string = "c:\\asd\\flkj\\klsd\\ffjkl";
var regex = /\\/g;
var FilePath = string.replace(regex, "\\\\");
Run Code Online (Sandbox Code Playgroud)
Here is the answer:
For replacing single backslash with single forward slash:
var stringReplaced = String.raw`c:\asd\flkj\klsd\ffjkl`.split('\\').join('/')
console.log(stringReplaced);
Run Code Online (Sandbox Code Playgroud)
For replacing double backslash with single forward slash:
var stringReplaced = String.raw`c:\\asd\\flkj\\klsd\\ffjkl`.split('\\\\').join('/')
console.log(stringReplaced);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40698 次 |
| 最近记录: |