如何将一个字符串分解成数对?
我使用的是regex
提取电话号码,我实现从文本中提取的数目,但是,我需要最终的输出:
50 40 60 55 85
我试过如下:
function extract_number(string){
const regex = /(?:(\+?\d{1,3}) )?(?:([\(]?\d+[\)]?)[ -])?(\d{1,5}[\- ]?\d{1,5})/
let value;
try {
const result = string.match(regex)
value = result[0]
} catch (err) {
console.error('There was an error, the string don', err);
}
for (var i=0; i < value.length; i++) {
//console.log(value.charAt(i));
var temporal = value.charAt(i)
var final = temporal + ' '
console.log(final)
}
}
然而,当我跑我的功能如下:
extract_number('my number is 5540605585')
我只得到:
node index.js
5
5
4
0
6
0
5
5
8
5
<Buffer 68 6f 6c 61 20 6d 75 6e 64 6f>
所以,我想欣赏支持,以实现该任务,另外我不知道为什么我得到:
<Buffer 68 6f 6c 61 20 6d 75 6e 64 6f>
回答如下:
尝试这个:
function extract_number(string) {
const regex = /(?:(\+?\d{1,3}) )?(?:([\(]?\d+[\)]?)[ -])?(\d{1,5}[\- ]?\d{1,5})/
let value;
try {
const result = string.match(regex)
value = result[0]
} catch (err) {
console.error('There was an error, the string don', err);
}
const formatted_number = value.toString().replace(/\d{2}(?=.)/g, '$& ')
console.log(formatted_number)
}
extract_number('my number is 5540605585')