我有一个字符串,其值类似于:"H798asdhka80:124htg"
我想从冒号“:”之前的每个字符中检索此字符串(以及类似结构化的字符串),因此我的新字符串将如下所示:H798asdhka80
这样做的代码是什么样的?
谢谢
答案 0 :(得分:6)
使用
var str="H798asdhka80:124htg".split(':')[0]
使用split(':')
即可获得数组["H798asdhka80","124htg"]
。然后只使用该数组的第一个元素。
答案 1 :(得分:4)
使用substr
:
var str = "H798asdhka80:124htg",
strpart = str.substr(0,str.indexOf(':'));
或slice
var str = "H798asdhka80:124htg",
strpart = str.slice(0,str.indexOf(':'));
或split
var strpart = "H798asdhka80:124htg".split(/:/)[0];
或match
var str = "H798asdhka80:124htg".match(/(^.+)?:/)[1];
或replace
var str = "H798asdhka80:124htg".replace(/:.+$/,'');
或创建更通用的String.prototype
扩展名
String.prototype.sliceUntil = function(str){
var pos = this.indexOf(str);
return this.slice(0, (pos>-1 ? pos : this.length));
}
var str = "H798asdhka80:124htg".sliceUntil(':124');
答案 2 :(得分:3)
一个reg exp回答,匹配从字符串开头到冒号的任何内容。
var str = "H798asdhka80:124htg";
var txt = str.match(/^[^:]+/);
答案 3 :(得分:2)
"H798asdhka80:124htg".split(':')[0]
答案 4 :(得分:0)
你真的不需要一个RegExp。这应该适合你:
str.split(':')[0];
无论如何,另一种方式是replace
带有正则表达式的字符串中不需要的部分,如下所示:
str.replace(/:.+$/, '');