如何在JavaScript中查找字符串中的一段时间?

时间:2017-04-14 09:50:13

标签: javascript regex

我想知道是否有一种简单的方法(例如使用现有的正则表达式)来查找用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"

4 个答案:

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

EDIT2

新的正则表达式,现在不会匹配任何数字。

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