RegExp字符串数组

时间:2018-08-17 11:50:06

标签: javascript regex

美好的一天,在RegEx中表现不佳可能会帮助我。

我有array = ["5/8 po", "3/4 ts", "1 px", " 1/2" "];

如何通过RegEx转换为array = ["5/8", "3/4", "1", "1/2"];

数组中的值可能不同。

3 个答案:

答案 0 :(得分:2)

您可以使用item.replace(/[a-z]|[A-Z]| /g, '')map()获取该输出数组。 item.replace(/[a-z]|[A-Z]| /g, '')会将所有字母替换为空白,您将获得所需的输出。

var array = ["5/8 po","1px"," 1.2","px 1", "px-1", "i-1/2"];
var res = array.map(item => item.replace(/[a-z]|[A-Z]| /g, ''));
console.log(res);

答案 1 :(得分:0)

您可以使用以下代码段:

var regex = /(?:[1-9][0-9]*|0)(?:\/[1-9][0-9]*)?/g;

var array = ["5/8 po", "3/4 ts", "1 px", "1/2"];

var arrayNumbers = array.map(x => x.match(regex)[0]);

console.log(arrayNumbers);

答案 2 :(得分:0)

这就是我要怎么做。此正则表达式测试分数或整数:

let arr = ["5/8 po", "3/4 ts", "1 px", "1/2"];

const regex = /[0-9]+\/?[0-9]*/;

arr = arr.map(i => i.match(regex)[0]);

console.log(arr);