ลบคอมมาและช่องว่างซ้ำด้วย Regular Expression
ใช้ split() กับ regex /[\s,]+/ แล้ว join() เพื่อรวมกลับด้วยคอมมาเดียว
ตัวอย่างโค้ด
var sentence = "My,,,,,,, Name,,,, is John ,,, Smith";
console.log("ก่อนลบ = " + sentence);
// แยกด้วย regex (ช่องว่างหรือคอมมา 1 ตัวขึ้นไป) แล้วรวมด้วยคอมมา
sentence = sentence.split(/[\s,]+/).join(",");
console.log("หลังลบ = " + sentence);
วิธีรัน
node fileName.js
ผลลัพธ์
ก่อนลบ = My,,,,,,, Name,,,, is John ,,, Smith
หลังลบ = My,Name,is,John,Smith
คำอธิบาย Regex
[\s,]+: ตรงกับช่องว่itespace (\s) หรือคอมมา (,) จำนวน 1 ตัวขึ้นไป (+)split()แยกสตริงเป็นอาร์เรย์ ตัด delimiter ออกjoin(",")รวมอาร์เรย์กลับเป็นสตริง คั่นด้วยคอมมาเดียว
กรณีต้องการเก็บช่องว่างระหว่างคำ
// แยกเฉพาะคอมมาซ้ำ คงช่องว่างไว้
sentence = sentence.replace(/,+/g, ',').replace(/\s+/g, ' ').trim();