Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

แยกสตริงที่คั่นด้วยช่องว่าง และลบคอมมา/ช่องว่างซ้ำใน JavaScript

ลบคอมมาและช่องว่างซ้ำด้วย 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();