0

我正在尝试解析这样的长字符串:

asfdasdlfkjdk&dasfdas&asdfkjsdakldfjk&

产生以下输出:

asfdasdlfkjdk&dasfdas&asdfkjsdakldfjk&

基本上我只需要替换任何未编码为已编码字符串值的&符号:

& => &

我可以用字符串替换来做到这一点,但我会冒着这样的风险:

&
4

2 回答 2

2

你可以写:

var result = orig.replace(/&(?!amp;)/g, '&');

其中(?!...)符号表示零宽度负前瞻断言,意思是“这个位置后面没有....

或者,在您的情况下,您可以编写:

var result = orig.replace(/&(?:amp;)?/g, '&');

这将替换&&&

于 2013-02-12T22:12:38.883 回答
1

简单的方法(全局更改然后修复异常):

string.replace(/&/g,"&").replace(/&/g,"&");

或者:

string.replace(/&/g,"&").replace(/&/g,"&");
于 2013-02-12T22:18:18.177 回答