JavaScript正则表达式:使用正则表达式检索字符串的一部分?
我有一个字符串,其值如下:JavaScript正则表达式:使用正则表达式检索字符串的一部分?,javascript,regex,Javascript,Regex,我有一个字符串,其值如下:“H798asdhka80:124htg” 我想从这个字符串(以及结构类似的字符串)中检索冒号之前的每个字符:“因此,我的新字符串如下所示:H798asdhka80 执行此操作的代码是什么样子的 谢谢使用 var str="H798asdhka80:124htg".split(':')[0] 使用split(“:”)可以得到数组[“H798asdhka80”,“124htg”]。然后只使用该数组的第一个元素。使用substr: var str = "H798asdhk
“H798asdhka80:124htg”
我想从这个字符串(以及结构类似的字符串)中检索冒号之前的每个字符:“因此,我的新字符串如下所示:H798asdhka80
执行此操作的代码是什么样子的
谢谢使用
var str="H798asdhka80:124htg".split(':')[0]
使用
split(“:”)
可以得到数组[“H798asdhka80”,“124htg”]
。然后只使用该数组的第一个元素。使用substr
:
var str = "H798asdhka80:124htg",
strpart = str.substr(0,str.indexOf(':'));
或切片
var str = "H798asdhka80:124htg",
strpart = str.slice(0,str.indexOf(':'));
或split
var strpart = "H798asdhka80:124htg".split(/:/)[0];
或匹配
var str = "H798asdhka80:124htg".match(/(^.+)?:/)[1];
或更换
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');
你不需要一个RegExp。这应该适合您:
str.split(':')[0];
无论如何,另一种方法是用正则表达式替换字符串中不需要的部分,如下所示:
str.replace(/:.+$/, '');
一个reg exp答案,匹配从字符串开头到冒号的任何内容
var str = "H798asdhka80:124htg";
var txt = str.match(/^[^:]+/);
海报上问的reg exp在哪里?:)@没有必要使用reg exp,我认为这样更好更简单
var str = "H798asdhka80:124htg";
var txt = str.match(/^[^:]+/);