使用互联网之前我可以解决replace()
只替换你在字符串中寻找的第一个实例。
查看this question,this question和this question,仅举几例,我知道如果您想要搜索和{},我必须使用/x/g
替换x
的整个字符串。
我的问题是我正在搜索两个令人困惑的角色。使用它们中的任何一个时触发注释的星号和斜线使用得太近了。
我还没有学习 JavaScript所以如果这很简单我会道歉但我已经尝试了下面这么多不同的版本我真的不记得了。
$('#answer').delay(1000).each(function(){
$this = $(this);
$this.html($this.html().replace(/\*/g, 'x').replace(/\/\/g, '÷'));
});
当像.replace('*', 'x').replace('/', '÷')
这样使用时,它只适用于一个结果。
所有帮助表示赞赏。
答案 0 :(得分:1)
这与您描述的完全一样,所以如果您遇到问题,请查看其他地方。你只是写了一个不正确的正则表达式,并没有读入错误:)正则表达式必须介于/符号之间,并且在任何情况下都不需要转义。
....replace(/\//g, '÷').replace(/\*/g, 'x');
"5*4/2=10".replace(/\//, '÷').replace(/\*/, 'x');
// returns "5x4÷2=10"
在某些情况下,使用新的RegExp对象会提供更好的可读性,但在您的情况下可能会很笨拙。
"5*4/2=10".replace(new RegExp('/', 'g'), '÷').replace(new RegExp('\\*', 'g'), 'x');