我有一個這樣的字串:
const test = 'a,b,c,d'
我希望有:
a, b, c and d // each comma has an extra space at right
我嘗試了一些正則運算式,例如:
test.replaceAll(',', ', ').replace(/,([^,]*)$/, '$1');
但這將洗掉最后一次出現,在這種情況下,我如何將其更改為另一個字串and ?
uj5u.com熱心網友回復:
這是一個正則運算式替換方法:
var test = 'a,b,c,d';
var output = test.replace(/,/g, ', ').replace(/,(?!.*,)/, " and");
console.log(output);
在第二次替換中,正則運算式,(?!.*,)使用否定前瞻來定位最后一個逗號,斷言輸入中不再出現逗號。
uj5u.com熱心網友回復:
這是一個非正則運算式方法
let test = 'a,b,c,d'.split(",");
let last = test.splice(-1);
test = test.join(", ") " and " last;
console.log(test)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/365442.html
標籤:javascript 正则表达式
