从带有可能小数的数字中拆分
Split from number with possible decimals
我正在尝试从遇到数字的地方拆分字符串。问题是数字有时会有小数。
我试过了,但没有成功:
str = "hello there can sometimes be decimals like 1.5 in here"
var parts = str.split(/\d*\.?\d*/);
预期的结果将是一个数组,其中第一个位置是数字之前的所有内容,然后是数字,然后是字符串的其余部分。
我做错了什么?
我认为没有单行代码可以解决这个问题,但这样的事情应该可行。
首先需要修复正则表达式以使用 +
而不是第一个 \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);
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;
}
我正在尝试从遇到数字的地方拆分字符串。问题是数字有时会有小数。
我试过了,但没有成功:
str = "hello there can sometimes be decimals like 1.5 in here"
var parts = str.split(/\d*\.?\d*/);
预期的结果将是一个数组,其中第一个位置是数字之前的所有内容,然后是数字,然后是字符串的其余部分。
我做错了什么?
我认为没有单行代码可以解决这个问题,但这样的事情应该可行。
首先需要修复正则表达式以使用 +
而不是第一个 \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);
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;
}