Javascript 如何从句子中选择动态字符串
如何从这些例句中选择第一个数字Javascript 如何从句子中选择动态字符串,javascript,Javascript,如何从这些例句中选择第一个数字 " 1 SAMPLE SAMPLE 1" " 20 SAMPLE SAMPLE 2" 我想从这些行中分离出第一个数字 我尝试了一些javascript附带的字符串函数,但似乎无法使它们正常工作。我不需要空格,我只需要号码。这样就可以了 var num = +/\d+/.exec(" 1 SAMPLE SAMPLE 1")[0]; 如果您不需要将其转换为数字,则可以去掉第一个+ var num = /\d+/.exec(" 1
" 1 SAMPLE SAMPLE 1"
" 20 SAMPLE SAMPLE 2"
我想从这些行中分离出第一个数字
我尝试了一些javascript附带的字符串函数,但似乎无法使它们正常工作。我不需要空格,我只需要号码。这样就可以了
var num = +/\d+/.exec(" 1 SAMPLE SAMPLE 1")[0];
如果您不需要将其转换为数字,则可以去掉第一个+
var num = /\d+/.exec(" 1 SAMPLE SAMPLE 1")[0];
如果您不确定是否会有数字,则需要删除[0]
,并在验证后提取结果
var num = /\d+/.exec(" SAMPLE SAMPLE ");
if( num ) num = num[0];
或者,由于它是一个数字,您可以直接从数组中使用+
转换它
if( num ) num = +num;
@这不是你想要的最终结果,但更接近。您引用的是一个不存在的
text3
变量,似乎有些元素找不到数字,因此我根据我的答案if(num)num=num[0]来执行此操作
以确保在尝试访问[0]
之前找到匹配项。很抱歉,这是正确的。我的问题是,我仍然获得了结束号码,如果我进行了替换(num“”),则它将删除包含这些号码的数组段中的号码。但是如果数字出现在需要它的数组段中,那么它就不是正确的方法。你明白我在说什么吗?@s2xi:我明白你在追求什么。我马上就有事情要发生。@s2xi:我想这就是你想要的。它将一个函数传递给.replace()!我觉得我不是那么有创造力;)你太棒了!Kust很好奇,但如果我在哪里用变量作为值的输入替换跨度,我如何给每个输入一个名称,如field1…field2…field3…等等,以便将结果保存到数据库
var num = " 1 SAMPLE SAMPLE 1".match(/^\s*?(\d).*?$/)[1];