Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中从两行字符串中提取数字_Javascript - Fatal编程技术网

如何在javascript中从两行字符串中提取数字

如何在javascript中从两行字符串中提取数字,javascript,Javascript,我想从以下两行中提取数字“40”: Total Boys:4 (40 min) Main Students:0 (0 min) 如何使用javascript实现这一点?提前感谢 只需使用正则表达式: var str = 'Total Boys:4 (40 min)\nMain Students: 0 (0 min)'; var number = str.match(/\((\d+)/)[1]; // 40 下面是一个简单的正则表达式来提取该值: var str = 'Total Boys:4

我想从以下两行中提取数字“40”:

Total Boys:4 (40 min)
Main Students:0 (0 min)

如何使用javascript实现这一点?提前感谢

只需使用正则表达式:

var str = 'Total Boys:4 (40 min)\nMain Students: 0 (0 min)';
var number = str.match(/\((\d+)/)[1]; // 40

下面是一个简单的正则表达式来提取该值:

var str = 'Total Boys:4 (40 min)\nMain Students:0 (0 min)';
var regexp = /.*\((\d+) min\)\n.*/;
var matches = regexp.exec(str);
alert('match: ' + matches[1]);

另一种方法是使用regex进行
str.match(/\d+//g)[1]

或不带正则表达式

str.split('min').shift().split('(').pop().trim();

假设您的字符串在str中,并且希望将数字存储在n

另一种方法是:

var index1,
    index2,
    index3,
    n;

index1 = str.indexOf('Total Boys:', 0);
index2 = str.indexOf('(', index1) + 1;
index3 = str.indexOf(' ', index2);

n = str.substring(index2, index3);
请注意,此方法将仅获得“男孩总数”的min值,而不是“主要学生”。
即使你在“Total Boys”之前还有一句类似的话,它也会起作用。

“我怎么能用javascript做到这一点?”用一个固定的表达。这个答案非常棒。@OmarTariq-它有节奏,所以你甚至可以唱出来。。。。我用了非常相似的算法来写答案。首先,我花了很长时间,其次,大约有10行。当我看到这个答案时,我感到很尴尬,于是闭上了我的眼睛。当一个无赖感觉很糟糕。然而,我从你的回答中学到了一些新东西<代码>:)这个答案适合我。现在我想从下面的示例中提取'90':var str='Total Boys:4(40分钟)\n主要学生:0(90分钟)';var msg=str.split('(').pop().trim();alert(msg);//我得到的答案是“90分钟”,你能给我一些建议吗?我用“str.split('(').pop().trim().split('min').shift();”解决了上述问题