我试图用空字符串(“”)替换星号(*)和冒号(:),并且该字符串可以如下所示:
要么:Registration No: already exists*
OR:*Registration No: already exists
因此,我既不希望(*)也不要(:),并且输出应该是Registration No already exists
我该如何解决。
尝试如下:
var txt = str.replace(/:\*/ig,"");
请帮助我,谢谢!
答案 0 :(得分:5)
您的正则表达式匹配:*
。您可以使用character class来匹配它们中的任何一个:
var txt = str.replace(/[:*]/g,"");
const strings = [
"Registration No: already exists*",
"*Registration No: already exists"
];
strings.forEach((s) => {
console.log(s.replace(/[:*]/g, ""));
});
答案 1 :(得分:0)
不使用字符类的另一种方法是使用pipe
或alteration来分隔每个组。但是,这要求您转义特殊字符,并且允许组匹配而不是单个字符匹配:
var txt = str.replace(/:|\*/ig, "");