【发布时间】:2021-12-29 13:10:49
【问题描述】:
假设我有一个这样的字符串
丹尼是?詹姆斯是?艾伦是?
我想把它替换成
丹尼很棒,詹姆斯很棒,艾伦很棒
我如何使用replace 来做到这一点?
我正在尝试做类似的事情
string.replace(/\?/g, 'great ').replace(/\?/g, 'wonderful ').replace(/\?/g, 'magnificent');
但我只是得到:
丹尼很棒 詹姆斯很棒 艾伦很棒
如果情况是这样的:
丹尼是?詹姆斯是#艾伦是$
string.replace(/\?/g, 'great ').replace(/\#/g, 'wonderful ').replace(/\$/g, 'magnificent');
它会按预期工作,但由于它是同一个字符,所以它不起作用。
有没有比下面这样更简洁的方法来实现这一点?
string = string.replace(/\?/g, 'great ')
string = string.replace(/\?/g, 'wonderful ')
string = string.replace(/\?/g, 'magnificent');
【问题讨论】:
-
你为什么要使用“global”标志,而你显然不想要那个“global”标志?
-
^ g 或全局标志替换正则表达式的所有实例,因此您需要将其删除以仅替换每次调用找到的第一个实例。
标签: javascript string replace