我有这个问题。我想从javascript中的字符串中删除某些字符。
这是我到目前为止所做的:
var stringName = "101 Naga City (D23)";
我想从字符串中删除“(D23)”:
stringName.slice(0, -5);
上面的代码效果很好,但是,字符串可以是动态的,如:
var stringName = "101 Naga City (D232131)";
或者
var stringName = "101 Naga City (9122312)";
我想动态删除“(”和“)”,包括里面的内容。
任何帮助都将不胜感激。
由于
答案 0 :(得分:1)
尝试,
var stringName = "101 Naga City (D23)";
stringName = stringName.substring(0, stringName.indexOf('('));
答案 1 :(得分:0)
如果你喜欢冒险尝试这个正则表达式:
var stringName = "101 Naga City (D23)";
stringName = stringName.replace(/(\s*\(.*\))/, "");
答案 2 :(得分:0)
尝试使用正则表达式
var str="101 Naga City (D23dzadzad2131)"
var n=str.search(/\(.*\)/i);
str = str.slice(0,n);
答案 3 :(得分:0)
尝试RegExp,
stringName = "101 Naga City (D23)";
s = stringName.replace(/ \(.*\)/, ''); // s = '101 Naga City'
stringName = "101 Naga City (D232131) XXX";
s = stringName.replace(/ \(.*\)/, ''); // s = '101 Naga City XXX'
答案 4 :(得分:0)
var stringName = "101 Naga City (D23)";
stringName = stringName.replace(/\s*\(.*?\)/,"");
alert(stringName);
...说明
使用正则表达式替换不需要的部分。匹配模式,并替换为空字符串... stringName.replace(<pattern>,"")
正则表达式以匹配不需要的部分...
/ # start regex
\s* # zero or more space characters
\( # open bracket (escaped)
.*? # zero or more of anything, ungreedily (match as few as possible)
\) # close bracket
/ # end pattern