需要从javascript中的长字符串中替换字符串

问题描述 投票:0回答:1

我的字符串很长

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];
javascript regex replace replaceall
1个回答
0
投票

这里是使用两个单独的正则表达式的解决方案:

  • 要删除的str在字符串的开头
  • 要删除的str在字符串的内部或末尾

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);
© www.soinside.com 2019 - 2024. All rights reserved.