Javascript字符串替换不起作用
Javascript string replace not working
所以我有一个字符串(房间描述),想用一些新的字符串(req.session.player
)替换它的部分<?player>
。
这是代码:
var description = "<?player>, you are in a room.";
description.replace("<?player>", req.session.player);
我已经测试过了,req.session.player
确实有字符串值。
当我执行替换方法时,没有任何变化。注意:我也尝试过使用/<?player>/
,但这也不起作用。
有什么想法吗?
您必须将变量分配给新更改的字符串,因为replace
不会更新您的变量:
var description = "<?player>, you are in a room.";
description = description.replace('<?player>', req.session.player);
此外,如果要替换所有出现的'<'?player>'
,而不是仅替换第一个,请使用带有g
(全局)标志的正则表达式:
var description = "<?player>, you are in a room.";
description = description.replace(/<'?player>/g, req.session.player);
有关详细信息,请阅读https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace.一些报价:
返回一个新字符串,其中
pattern
的部分或全部匹配项被replacement
替换。此方法不会更改调用它的String对象。它只是返回一个新字符串。
要执行全局搜索和替换,请在正则表达式中包含g开关
问题是没有分配replace方法的返回值:
description = description.replace("<?player>", req.session.player);
JS Fiddle:http://jsfiddle.net/LEBRK/
replace
方法返回新字符串,因此需要将其分配给description
变量:
var description = "<?player>, you are in a room.";
description = description.replace("<?player>", 'Bill'); // description now is "Bill, you are in a room."
相关文章:
- 替换变量时,JavaScript字符串replace()不起作用
- getComputedStyle替换:currentStyle(IE8/7)不起作用
- 替换字符串的脚本;在某些网站上不起作用
- .clone().appendTo-替换不起作用的元素样式
- 为什么不'使用此JavaScript将文本替换为不起作用的链接
- jquery替换不起作用
- jQuery用点替换逗号不起作用
- .keyup() 上的非拉丁字符替换在快速键入时不起作用
- 替换 JavaScript 中出现的所有字符串不起作用
- 替换函数后的Javascript比较字符串不起作用
- 使用replace方法替换innerHTML以及在Javascript中不起作用的正则表达式
- 为什么javascript替换方法(没有regex)在angularjs表达式中不起作用来删除 
- :包含不区分大小写的解决方案在替换文本以突出显示时不起作用
- Javascript字符串替换不起作用
- I'我试图制作一个chrome查找和替换扩展,但它赢了;不起作用
- 如果我用fadeTogle替换fadeIn/fadeOut,为什么它不起作用
- 使用替换函数替换 XML 标记不起作用
- jQuery |字符串替换不起作用
- 字符串替换在javascript中不起作用(使用双引号)
- 全局替换不起作用,但简单的替换工作正常