根据规则获取文本值
Get text values based on rules
我有这段文字:
var dimensions = "12 H x 45.3 W x 16 G"
现在我想获取 H 和 W 的值。如果 H 或 W 不存在,则输入 NULL 值。
我试过了
var result = str.split("x");
var h = result[0].replace('H','');
var w = result[1].replace('W','');
预期结果:h = 12,w = 45.3
问题是我可以先有 W,然后有 H:
var dimensions = "45.3 W x 12 H x 16 G"
预期结果:h = 12,w = 45.3
非常感谢你的帮助。
你可以获得独立的值。
const getValue = (s, p) => (s.match(new RegExp('\S+(?=\s+' + p + ')')) || [])[0] || null;
var dimensions = "12 H x 45.3 W x 16 G"
console.log(getValue(dimensions, 'H'));
console.log(getValue(dimensions, 'W'));
console.log(getValue(dimensions, 'G'));
console.log(getValue(dimensions, 'F')); // null
你可以试试这个
var dimensions = "12 H x 45.3 W x 16 G"
const rs = dimensions.split('x').reduce((acc,e) => {
let arr = e.trim().split(' ')
acc.set(arr[1], arr[0])
return acc
}, new Map())
console.log('H:', rs.get('H'))
console.log('W:', rs.get('W'))
console.log('E:', rs.get('E') || null)
我有这段文字:
var dimensions = "12 H x 45.3 W x 16 G"
现在我想获取 H 和 W 的值。如果 H 或 W 不存在,则输入 NULL 值。
我试过了
var result = str.split("x");
var h = result[0].replace('H','');
var w = result[1].replace('W','');
预期结果:h = 12,w = 45.3
问题是我可以先有 W,然后有 H:
var dimensions = "45.3 W x 12 H x 16 G"
预期结果:h = 12,w = 45.3
非常感谢你的帮助。
你可以获得独立的值。
const getValue = (s, p) => (s.match(new RegExp('\S+(?=\s+' + p + ')')) || [])[0] || null;
var dimensions = "12 H x 45.3 W x 16 G"
console.log(getValue(dimensions, 'H'));
console.log(getValue(dimensions, 'W'));
console.log(getValue(dimensions, 'G'));
console.log(getValue(dimensions, 'F')); // null
你可以试试这个
var dimensions = "12 H x 45.3 W x 16 G"
const rs = dimensions.split('x').reduce((acc,e) => {
let arr = e.trim().split(' ')
acc.set(arr[1], arr[0])
return acc
}, new Map())
console.log('H:', rs.get('H'))
console.log('W:', rs.get('W'))
console.log('E:', rs.get('E') || null)