假设我的字符串如下:
var str = "USA;UK;AUS;NZ"
现在从一些来源我得到一个值,如:
country.data = "AUS"
现在在这种情况下,我想删除" AUS"从我的字符串。
任何人都可以建议如何实现这一点。
以下是我的尝试:
var someStr= str.substring(0, str.indexOf(country.data))
在这种情况下,我得到了相同的结果。
答案 0 :(得分:2)
您可以使用拆分和过滤器:
var str = "USA;UK;AUS;NZ"
var toBeRemoved = "AUS";
var res = str.split(';').filter(s => s !== toBeRemoved).join(';');
console.log(res);
答案 1 :(得分:2)
试试这个:
var result = str.replace(country.data + ';','');
感谢评论,这应该更有效:
var tmp = str.replace(country.data ,'');
var result = tmp.replace(';;' ,';');
答案 2 :(得分:2)
'def'

答案 3 :(得分:1)
这是一个很好的旧分割/连接方法:
var str = "USA;UK;AUS;NZ;AUS";
var str2 = "AUS";
var str3 = str2 + ";";
console.log(str.split(str3).join("").split(str2).join(""));
答案 4 :(得分:1)
您可以将 replace()
与包含搜索国家/地区的正则表达式一起使用,这应该是正则表达式/(AUS;?)/
。
这应该是你的代码:
var str = "USA;UK;AUS;NZ";
var country = "AUS";
var reg = new RegExp("("+country+";?)");
str = str.replace(reg, '');
console.log(str);
这将删除您所在国家/地区之后的;
。