讓我們建議我有以下字串:
let cssValue = '20px, 40px'
我希望在拆分后獲得以下陣列:
cssValue.split(regex); // ['20px', '40px']
但是如果字串不包含逗號(僅限空格,即20px 40px),結果應該是['20px 40px']
我的正則運算式[^a-zA-Z0-9] 不考慮逗號。有了這個正則運算式['20px', '40px'],無論字串是否包含逗號,我都會得到。我該如何解決?
uj5u.com熱心網友回復:
您可以直接用逗號和可能的空格分隔。
const split = s => s.split(/,\s*/);
console.log(split('20px, 40px'));
console.log(split('20px 40px'));
uj5u.com熱心網友回復:
如果您只想按逗號分割并洗掉前導空格,則根本不需要使用正則運算式,如果您不想的話。
該字串','就足夠了,因為如果您想在之后整理任何前導空格,您可以使用trim().
作業示例:
let cssValue1 = '20px, 40px';
let cssValue2 = '20px 40px';
const splitCSSValue = (cssValue) => cssValue.split(',');
const trimElements = (array) => array.map((element) => element.trim());
console.log(trimElements(splitCSSValue('20px, 40px')));
console.log(trimElements(splitCSSValue('20px 40px')));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/351019.html
標籤:javascript 正则表达式 regex-lookarounds
上一篇:JS如何使var長度限制
