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

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

    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];

优点是代码简短,很有针对性。但是对英文双括号,前面是英文括号后面是中文括号,前面是中文括号后面是英文括号的各种非正常情况无法精确处理。
第三种方式:使用正则表达式。适配中英文括号。显然这个是最佳方案,代码简洁还适配所有异常情况。

realList[i].real_estate_name = realList[i].real_estate_name.replace(/[\(\(][^\)\)]*[\)\)]/g, '');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值