我的字符串很长
Full_str1 = '[email protected];[email protected];[email protected];[email protected];[email protected];';
removable_str2 = '[email protected];';
我需要一个替换的字符串结果的最终字符串应如下所示,
[email protected];[email protected];[email protected];[email protected];
我尝试过
str3 = Full_str1.replace(new RegExp('(^|\\b)' +removable_str2, 'g'),"");
但是它导致了
[email protected];[email protected];
这里是使用两个单独的正则表达式的解决方案:
PS:我无法在一个正则表达式中执行它,因为在匹配字符串以删除全局字符串内部的情况下,它将删除额外的;
。
const originalStr = '[email protected];[email protected];[email protected];[email protected];[email protected];[email protected];';
const toRemove = '[email protected];';
const epuredStr = originalStr
.replace(new RegExp(`^${toRemove}`, 'g'), '')
.replace(new RegExp(`;${toRemove}`, 'g'), ';');
console.log(epuredStr);