如何使用JavaScript从字符串中删除具有特定值的字符串?

时间:2017-11-15 14:43:02

标签: javascript string

假设我的字符串如下:

var str = "USA;UK;AUS;NZ"

现在从一些来源我得到一个值,如:

country.data = "AUS"

现在在这种情况下,我想删除" AUS"从我的字符串。

任何人都可以建议如何实现这一点。

以下是我的尝试:

var someStr= str.substring(0, str.indexOf(country.data))

在这种情况下,我得到了相同的结果。

5 个答案:

答案 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);

这将删除您所在国家/地区之后的;