从数字中拆分可能的小数

时间:2015-01-01 09:59:05

标签: javascript jquery regex

我试图从遇到号码的地方拆分字符串。问题是数字有时会包含小数。

我没试过就试过这个:

str = "hello there can sometimes be decimals like 1.5 in here"
var parts = str.split(/\d*\.?\d*/);

预期的结果将是一个数组,其中包含数字在第一个位置之前的所有内容,然后是数字,然后是字符串的其余部分。

我做错了什么?

2 个答案:

答案 0 :(得分:4)

我不认为这是一个单行,但这样的事情应该有效。

首先需要修复正则表达式,以便在第一个+之前使用*代替\d,以确保它与第一部分匹配:

/\d+\.?\d*/

然后,我们需要提取数字,拆分并将其添加到数组中:

str = "hello there can sometimes be decimals like 1.5 in here"
var num = str.match(/\d+\.?\d*/);
var parts = str.split(/\d+\.?\d*/);
parts.splice(1,0,num);

答案 1 :(得分:0)

var str = 'hello there can sometimes be decimals like 1.5 in here';
var firstDigit = str.indexOf(str.match(/\d/))-1 ;

function splitValue(value, index) {
var parts =[value.substring(0, index),value.substring(index)] ;  
   return parts;
}