คำตอบที่มีให้โดย SharpEars นั้นเป็นทุกสิ่งที่เราต้องการ แต่ต่อไปนี้คำตอบงัด Bynens ของผมไปในการเดินทางวิกิพีเดียและพบนี้: https://en.wikipedia.org/wiki/Newline
ต่อไปนี้เป็นฟังก์ชั่นดร็อปอินที่ใช้ทุกอย่างที่หน้า Wiki ข้างต้นพิจารณาว่า "บรรทัดใหม่" ในเวลาที่ตอบคำถามนี้
หากสิ่งที่ไม่เหมาะกับกรณีของคุณเพียงแค่ลบมัน นอกจากนี้หากคุณกำลังมองหาประสิทธิภาพอาจไม่เป็นเช่นนั้น แต่สำหรับเครื่องมือด่วนที่ทำงานได้ไม่ว่าในกรณีใดก็ควรมีประโยชน์
// replaces all "new line" characters contained in `someString` with the given `replacementString`
const replaceNewLineChars = ((someString, replacementString = ``) => { // defaults to just removing
const LF = `\u{000a}`; // Line Feed (\n)
const VT = `\u{000b}`; // Vertical Tab
const FF = `\u{000c}`; // Form Feed
const CR = `\u{000d}`; // Carriage Return (\r)
const CRLF = `${CR}${LF}`; // (\r\n)
const NEL = `\u{0085}`; // Next Line
const LS = `\u{2028}`; // Line Separator
const PS = `\u{2029}`; // Paragraph Separator
const lineTerminators = [LF, VT, FF, CR, CRLF, NEL, LS, PS]; // all Unicode `lineTerminators`
let finalString = someString.normalize(`NFD`); // better safe than sorry? Or is it?
for (let lineTerminator of lineTerminators) {
if (finalString.includes(lineTerminator)) { // check if the string contains the current `lineTerminator`
let regex = new RegExp(lineTerminator.normalize(`NFD`), `gu`); // create the `regex` for the current `lineTerminator`
finalString = finalString.replace(regex, replacementString); // perform the replacement
};
};
return finalString.normalize(`NFC`); // return the `finalString` (without any Unicode `lineTerminators`)
});