如何在javascript中切片动态文本

时间:2014-03-16 02:26:01

标签: javascript jquery

我有这个问题。我想从javascript中的字符串中删除某些字符。

这是我到目前为止所做的:

var stringName = "101 Naga City (D23)";

我想从字符串中删除“(D23)”:

stringName.slice(0, -5);

上面的代码效果很好,但是,字符串可以是动态的,如:

var stringName = "101 Naga City (D232131)";

或者

var stringName = "101 Naga City (9122312)";

我想动态删除“(”和“)”,包括里面的内容。

任何帮助都将不胜感激。

由于

5 个答案:

答案 0 :(得分:1)

尝试,

 var stringName = "101 Naga City (D23)";
 stringName = stringName.substring(0, stringName.indexOf('('));

DEMO

答案 1 :(得分:0)

如果你喜欢冒险尝试这个正则表达式:

var stringName = "101 Naga City (D23)";
stringName = stringName.replace(/(\s*\(.*\))/, "");

http://jsfiddle.net/CD3U3/

答案 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'

http://jsfiddle.net/s8zw4/

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

Regular expression visualization

Debuggex Demo

JSFiddle working demo