如何在一些特殊字符后删除值

时间:2017-06-27 05:55:40

标签: javascript

我得到的是这样的字符串。

ex:1

input.value = " United State; UK"

前2:

input.value = " United State; UK; AUS"

等等。

我想删除最后一个值 示例1中的英国和示例2中的AUS 我在这里尝试的是

var splitValue = input.value.split(";");
    splitValue.splice(splitValue.length-1);
    input.value = splitValue.join(";");

但不知道为什么我得不到正确答案。我的最后一个价值是失去了它的分号。

如何解决此问题。

6 个答案:

答案 0 :(得分:2)

你需要这样做

input.value.replace(/;[A-Za-z0-9\s]*$/,"")

这将为您提供所需。另请尝试理解这一点,这将在;

之后删除带空格的字母数字值

您可以使用[A-Za-z0-9\s]

之后允许的字符替换;

答案 1 :(得分:2)

var input = " United State; UK; AUS"

var newinput = input.split(';');
newinput[newinput.length-1] = "";

console.log(newinput.join(';'));

答案 2 :(得分:1)

这里的一种方法是使用正则表达式,它将消耗并捕获所有内容,包括最终的分号。之后的一切都是你想要丢弃的最后一个词。



var str = 'United States; UK; AUS';
console.log(str.replace(/(.*;).*$/, '$1'));




<强>输出:

United States; UK;

答案 3 :(得分:0)

试一试

str = " United State; UK";
var arr = str.split(";");
arr.pop();
console.log(arr.join(";"));

答案 4 :(得分:0)

你可以使用这样的东西..

var Inputvalue = "United State; UK; AUS";
Inputvalue  = Inputvalue .substr(0, Inputvalue .lastIndexOf(";"));
alert(Inputvalue );

答案 5 :(得分:0)

尝试这个

&#13;
&#13;
var a = " United State; UK";
var b = " United State; UK; AUS";
var value = "";
var value1="";

//example 1
var splitValue = a.split(" ");
for (var i = 1; i < splitValue.length - 1; i++) {
  value += splitValue[i]+" ";
}
console.log(value);
//example 2
var splitValue = b.split(" ");
for (var i = 1; i < splitValue.length - 1; i++) {
  value1 += splitValue[i]+" ";
}
console.log(value1);
&#13;
&#13;
&#13;