2

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

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

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

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

4

3 回答 3

1

假设您的字符串也不以 a 结尾,这将起作用/

yourString.replace(/\/[^\/]/g,"//")
  • /stuff/只是 JavaScript 正则表达式文字符号
  • \/是转义的“/”
  • [^\/]不是“/”(同样,有转义)
  • 正则表达式文字上的“g”表示“替换所有匹配项,而不仅仅是第一个匹配项”

我们将其替换为“//”,这就是您想要的。

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

这是一个工作小提琴

于 2013-05-23T10:33:49.753 回答
0
yourString.replace(/([^\/])\/([^\/])/g,"$1//$2")
于 2013-05-23T10:36:16.073 回答
0

也可能有帮助:

var s = "http://www.some-url.com//path//to";
var res = s.replace(/(https?:\/\/)|(\/)+/g, "$1$2");
于 2017-02-24T13:56:53.757 回答