Javascript正则表达式将单斜杠替换为双斜杠?

时间:2013-05-23 10:30:37

标签: javascript regex str-replace

Javascript正则表达式将单斜杠替换为双斜杠而不是替换字符串中的双斜杠?

var tempPath ="//DocumentImages//Invoices//USD//20130425//I27566554 Page- 1.tif&//hercimg/IMAGES/2008/20130411/16192144/16192144-10003.tif&";

这里将所有单个斜杠替换为double(//)而不是所有双斜杠。

喜欢//DocumentImages//Invoices//USD//20130425//I27566554 Page- 1.tif&//hercimg//IMAGES//2008//20130411//16192144//16192144-10003.tif&

3 个答案:

答案 0 :(得分:1)

这将起作用假设您的字符串不会以/

结尾
yourString.replace(/\/[^\/]/g,"//")
  • /stuff/只是JavaScript正则表达式文字符号
  • \/是转发的“/”
  • [^\/],但是“/”(再次,有逃脱)
  • 正则表达式文字中的“g”表示“替换所有匹配而不仅仅是第一个”

我们将“//”替换为您想要的内容。

replace接受一个字符串并返回一个新的字符串,其值已更改而不更改原始字符串。

Here is a working fiddle

答案 1 :(得分:1)

yourString.replace(/([^\/])\/([^\/])/g,"$1//$2")

答案 2 :(得分:0)

也可以提供帮助:

var s = "http://www.some-url.com//path//to";
var res = s.replace(/(https?:\/\/)|(\/)+/g, "$1$2");