如何用千位分隔符解析两个空格分隔的数字
How to parse two space-delimited numbers with thousand separator?
我需要解析一个包含两个数字的字符串,可能有三种情况:
"646.60 25.10" => [646.60 25.10]
"1 395.86 13.50" => [1395.86, 13.50]
"13.50 1 783.69" => [13.50, 1 783.69]
在一个简单的情况下,它是足够的使用'number'.join(' ')
,但在某些情况下,有千个分隔符,如在第二和第三。
那么我如何解析所有情况下的这些数字呢?
EDIT:所有数字的最后一段都有一个小数分隔符
var string1 = "646.60 25.10";// => [646.60 25.10]
var string2 = "1 395.86 13,50";// => [1395.86, 13,50]
var string3 = "13.50 1 783.69"; // => [13.50, 1 783.69]
function getArray(s) {
var index = s.indexOf(" ", s.indexOf("."));
return [s.substring(0,index), s.substring(index+1) ];
}
console.log(getArray(string1));
console.log(getArray(string2));
console.log(getArray(string3));
假设每个数字都以点数字结尾(在您所说的评论中),您可以使用它来定位使用aregex分割的正确位置。这样,对于任意数量的数字(尽管您指定只有两个数字)和数字中的任意数量的数字,只要它以数字-点-数字-数字结尾:
str1 = "4 435.89 1 333 456.90 7.54";
function splitToNumbers(str){
arr = str.replace(/'s+/g,'').split(/('d+.'d'd)/);
//now clear the empty strings however you like
arr.shift();
arr.pop();
arr = arr.join('&').split(/&+/);
return arr;
}
console.log(splitToNumbers(str1));
//4435.89,1333456.90,7.54
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 正则表达式允许字母数字和空格,但不允许连续两个空格
- Meteor:如何使用空格键创建包含两个集合数据的树列表
- 如何在javascript中无空格地追加两个字符串
- 通过JQuery在网页上的两个字符之间放置空格
- 正则表达式在换行符 前面有两个空格
- 如何在两个连续的图像之间插入黑色空格
- 在输入中需要两个用空格分隔的单词
- 为什么 markdown 语法在 之前需要两个空格才能从中生成段落
- 用空格替换两个相同的字符
- 两个单词之间的空格
- 如何用千位分隔符解析两个空格分隔的数字
- 我想去掉两个双引号之间的逗号,并允许两个双引号之间有空格
- 在两个单词之间加一个空格
- 删除两个单词之间的空格/空格
- 我需要一个正则表达式来删除开头的空格,它应该允许两个单词之间的空格
- Javascript Regex.test():对于字符串中的两个空格(或更多),返回true
- 在RubyMine中只有两个空格的缩进