是否替换TypeScrip中字符串中的所有字符实例?
我正在尝试将电子邮件中的句号全部替换为x字符--例如,"my.mail@email.com"将变为"myxmail@emailxcom"。电子邮件设置为字符串。
我的问题是,它不只是替换句号,它还替换了每个字符,所以我只得到了一个x字符串。
我只需要一个句号就可以让它工作,所以我假设我在全局实例部分上是错误的。以下是我的代码:
let re = ".";
let new = email.replace(/re/gi, "x");
我也试过
re = /./gi;
new = email.replace(re, "x");
如果有人能提供任何线索,我将不胜感激,我已经被困在这个问题上太久了,似乎找不到我错在哪里了。
**编辑:哎呀,我的新变量实际上名为newmail,关键字new不是导致问题的原因!
解决方案
您的第二个示例最接近。第一个问题是您的变量名new
,它恰好是JavaScript的reserved keywords之一(它被用来构造对象,如new RegExp
或new Set
)。这意味着您的程序将引发语法错误。
.
)是正则表达式语法中的特殊字符,您应该将其转义为.
。否则,结果将是result == "xxxxxxxxxxxxxxxxxx"
,这是不可取的。
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="真">
let email = "my.email@email.com"
let re = /./gi;
let result = email.replace(re, "x");
console.log(result)
相关文章