如何去掉字符串中文括号及其内部的内容两种方式

时间:2024-02-19 22:14:04

第一种:使用正则表达式。问题是可以直接把英文括号及里面的内容删除,但是对中文括号处理不了。只好先替换为英文括号,然后再全局替换。

    let originalString = "西溪阳光中心未来悦(公寓)(商业)";
// let cleanedString = originalString.replace(/\(\w+\)/, "");
// console.log(cleanedString); // 输出: 西溪阳光中心未来悦
// return originalString.replace(/[(\w+)]/g, '');
// return originalString.replace(/([^)]*\)/g,"");
// return originalString.replace(/\([^\)]*\)/g,"");
// originalString.replace(/\([^\)]*\)/g,""); 
var txt = originalString.replace(//g,"(");
originalString = txt.replace(//g,")");
return originalString.replace(/\([^\)]*\)/g,""); 

在这里插入图片描述
它的优点很显然:能处理中文双括号,英文双括号,前面是英文括号后面是中文括号,前面是中文括号后面是英文括号的各种情况。

第二种方式:用字符串处理函数split。

realList[i].real_estate_name = realList[i].real_estate_name.split(')')[0];

优点是代码简短,很有针对性。但是对英文双括号,前面是英文括号后面是中文括号,前面是中文括号后面是英文括号的各种非正常情况无法精确处理。