การลบเครื่องหมายอัญประกาศออกจากสตริง

TypeScript:
การลบเครื่องหมายอัญประกาศออกจากสตริง

วิธีการ:

นี่คือคู่มือไร้มลทินในการตัดอักขระคำพูดที่น่ารำคาญออกจากสตริงของคุณใน TypeScript

// ตัวเลือก A: การเปลี่ยนแปลงอัญประกาศเดี่ยวหรือคู่โดยใช้ regex
function removeQuotes(input: string): string {
  return input.replace(/^["']|["']$/g, '');
}

console.log(removeQuotes(`"Quoted string"`)); // Quoted string
console.log(removeQuotes(`'Another one'`)); // Another one

// ตัวเลือก B: การจัดการกับสตริงที่เริ่มและจบด้วยอัญประกาศที่แตกต่างกัน
function removeMismatchedQuotes(input: string): string {
  return input.replace(/^(['"])(.*?)(?<!\1)\1$/, '$2');
}

console.log(removeMismatchedQuotes(`"Mismatched'`)); // "Mismatched'

// ตัวเลือก C: ตัดอัญประกาศหลากหลายประเภท
function removeAllQuotes(input: string): string {
  return input.replace(/['"]+/g, '');
}

console.log(removeAllQuotes(`"'Mix'n'Match'"`)); // Mix'n'Match

ประดุจดำดิ่ง

ตั้งแต่ยังก่อนที่ TypeScript จะมีอยู่, โค้ดเดอร์ JavaScript ก็ต้องเผชิญกับความยุ่งยากเรื่องอัญประกาศอยู่แล้ว และเรื่องราวก็ไม่ต่างกันสำหรับ TypeScript ตามเวลาที่เปลี่ยนไป วิธีที่เราตัดสตริงก็เปลี่ยนไป ในปัจจุบัน ด้วยพลังของ regex, เราสามารถตัดสินใจไม่ใช้วิธีตัดสตริงที่ยุ่งยากหรือวิธีอื่นที่ต้องทำซ้ำๆ

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

ทางเลือก? บางคนชอบไปกับไลบรารี่เช่น lodash ที่มีวิธีการเช่น trim และ trimStart / trimEnd ซึ่งสามารถปรับเปลี่ยนเพื่อตัดอัญประกาศได้หากคุณกำหนดอักขระที่คุณต้องการตัด

และสำหรับคุณที่ชื่นชอบ TypeScript, อย่าลืมเรื่องประเภทข้อมูล ในที่นี้เรากำลังจัดการกับสตริงมากที่สุด แต่เมื่อคุณกำลังทำงานกับข้อมูลอินพุตจากผู้ใช้หรือการแยกวิเคราะห์ การใช้ตัวป้องกันประเภทหรือแม้แต่ generics สามารถช่วยให้คุณรักษาโค้ดของคุณให้ปลอดภัยเหมือนกับอัญประกาศของคุณถูกตัดทิ้งไปแล้ว

ดูเพิ่มเติม

ตรวจสอบสถานที่เสมือนเหล่านี้สำหรับข้อมูลเพิ่มเติม: