如何在javascript中包含单引号的另一个字符串中转义单引号?

时间:2014-04-08 19:48:13

标签: javascript regex

您好我想在另一个字符串中转义单引号。

我有以下字符串:

'I'm a javascript programmer'

在上面的字符串中,我需要转义单引号

,预期输出为:

'I\'m a javascript programmer'

我要求在javascript中处理eval()。

字符串就像这样...

"[['string's one','string two','string's three']]"

如何解决这个问题。提前谢谢......

4 个答案:

答案 0 :(得分:0)

var s = "my string's"
s = s.replace(/'/g, "\\'");

答案 1 :(得分:0)

在html字符串中转义引号的正确方法是使用字符实体。

'I'm a javascript programmer'

双引号也是如此:

'"I'm a javascript programmer"'

答案 2 :(得分:0)

您可以尝试lookahead assertions来达到预期的效果:

var str = "'I'm a javascript's programmer'";
str = str.replace(/(?!^)'(?!$)/g, "\\'");

Fiddle)。与Shimon的答案不同,这也可以处理双引号('')。

否定前瞻断言(?! )本身不进行任何匹配,但它确保断言的表达式不会发生在给定位置(即字符串^的开始不会发生在报价后不会出现引号和字符串$的结尾。)

答案 3 :(得分:0)

这可以解决问题:

var str = "'I'm a js programer.'";
str.replace(/(\w)'(\w)/g, "$1\\\'$2");