Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

วิธีแบ่งประโยคออกเป็นบล็อกที่มีความยาวคงที่โดยไม่ทำลายคำใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงที่มีข้อความของย่อหน้าเป็นอาร์กิวเมนต์แรก และจำนวนขนาดอันเป็นอาร์กิวเมนต์ที่สอง

ฟังก์ชันควรทำสิ่งต่อไปนี้ -

  • แบ่งสตริงออกเป็นชิ้น ๆ ที่มีความยาวไม่เกินขนาด (อาร์กิวเมนต์ที่สอง)

  • การทำลายควรเกิดขึ้นที่ช่องว่างหรือส่วนท้ายประโยคเท่านั้น (ไม่ควรแยกคำ)

ตัวอย่างเช่น − หากสตริงอินพุตคือ −

const str = 'this is a string';
const chunkLength = 6;

จากนั้นผลลัพธ์ควรเป็น −

const output = ['this', 'is a', 'string'];

ให้เราเขียนโค้ดสำหรับฟังก์ชันนี้ -

เราจะใช้นิพจน์ทั่วไปเพื่อให้ตรงกับจำนวนอักขระที่ระบุ เมื่อจับคู่แล้ว เราจะย้อนรอยจนกว่าเราจะพบช่องว่างหรือจุดสิ้นสุดของสตริง

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const size = 200;
const str = "This process was continued for several years for the deaf
child does not here in a month or even in two or three years the
numberless items and expressions using the simplest daily intercourse
little hearing child learns from these constant rotation and imitation the
conversation he hears in his home simulates is mine and suggest topics and
called forth the spontaneous expression of his own thoughts.";
const splitString = (str = '', size) > {
   const regex = new RegExp(String.raw`\S.{1,${size &minu; 2}}\S(?= |$)`,
   'g');
   const chunks = str.match(regex);
   return chunks;
}
console.log(splitString(str, size));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

[
   'This process was continued for several years for the deaf child does
   not here in a month or even in two or three years the numberless items and
   expressions using the simplest daily intercourse little',
   'hearing child learns from these constant rotation and imitation the
   conversation he hears in his home simulates is mine and suggest topics and
   called forth the spontaneous expression of his own',
   'thoughts.'
]