javascript - 仅替换字符串之间的特殊字符,而不是字符串的开头和结尾?

标签 javascript jquery string replace

我需要用\'(反斜杠撇号)替换特殊字符 '(撇号),但这应该只在字符串之间,字符串的开始和结束字符除外。
例如:msg ='My Son's Daughter';
字符串中可以有多个撇号。我只想替换字符串中不是开始和结束字符的撇号。

请与我分享任何想法。

最佳答案

使用 substr() 和正则表达式的组合:

var msg ="'My Son's Daughter'";

msg = msg.substr(0, 1) + msg.substr(1, msg.length-2).replace(/'/g, "\\'") + msg.substr(msg.length-1, 1);

输出:

'My Son\'s Daughter' 

如图所示,只有内部的'被替换,第一个和最后一个被忽略。

关于javascript - 仅替换字符串之间的特殊字符,而不是字符串的开头和结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17145688/

相关文章:

javascript - 如何使用 forEach() 定义文件路径集合

jquery - 多维菜单悬停问题

java - 拆分字符串在 java 中不起作用无法导入 `split`

javascript - 如何切换粘性标题?

javascript - Jquery 未捕获类型错误 : Cannot read property 'replace' of undefined

javascript - 编写 jQuery 函数的更有效方式

JavaScript 函数未定义?

java字符串匹配大文本文件问题

java - 将 Apache Velocity 与 StringBuilders/CharSequences 结合使用

javascript - 带渲染器的 Angular 2+ CSS 自定义属性(变量)