我想知道是否有一种简单的方法(例如使用现有的正则表达式)来查找用JavaScript写入字符串的一段时间。
例如,如果我有:
var str = "This movie lasts 2 hr 14 min and is a great movie"
我想提取子字符串"2 hr 14 min"
。
修改
我只想提取表示时间的子字符串。我不想将其格式化为类似于" 2小时14分钟"。我只想提取"2 hr 14 min"
答案 0 :(得分:1)
根据您提供的字符串,这就是您所需要的一切。
var text = "This movie lasts 2 hr 14 min and is a great movie";
var match = text.match(/(\d+( hr| min))/g);
console.log(match);
//Let's make it string
match = match.join(" ");
console.log(match);
match = "2 hr 14 min"
新的正则表达式,现在不会匹配任何数字。
答案 1 :(得分:1)
这将获得小时和分钟,而不是字符串中的所有整数。 Oen44's Answer会在字符串中拾取随机数。
var str = "This movie lasts 2 hr 14 min and is a great movie"
var regexp = /([0-9])+ (hr|min)/g;
str = str.match(regexp);
输出=“2小时,14分钟”
答案 2 :(得分:1)
试试这个单线答案:
var text = "This movie lasts 2 hr 14 min and is a great movie";
console.log(text.substring(text.lastIndexOf("hr")-3,text.lastIndexOf("min")+3));

答案 3 :(得分:-2)
您可以使用子字符串。
var str =“这部电影持续2小时14分钟,是一部很棒的电影”; var res = str.substring(17,24);的console.log(RES);