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

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

วิธีการ:

Bash มีหลายวิธีในการลบอัญประกาศออกจากสตริง นี่คือตัวอย่างบางส่วน:

#!/bin/bash

# การใช้การแทนที่ตัวแปรเพื่อลบอัญประกาศเดี่ยวและคู่
STRING="\"Hello, World!\""
echo ${STRING//\"}

# การใช้ `tr` เพื่อลบอัญประกาศ
STRING="'Hello, World!'"
echo $STRING | tr -d "\'"

# การใช้ `sed` เพื่อลบอัญประกาศ
STRING="\"Hello, World!\""
echo $STRING | sed 's/"//g'

ตัวอย่างผลลัพธ์:

Hello, World!
Hello, World!
Hello, World!

ลงลึก

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

Bash เองได้พัฒนาขึ้นและการแทนที่ตัวแปรเพิ่มอีกชั้นของความง่ายดายสำหรับการจัดการสตริงขนาดเล็ก ช่วยคุณให้พ้นจากการท่องไปยังไบนารีภายนอก, ทำให้สคริปต์ของคุณมีประสิทธิภาพมากขึ้น

ในขณะที่ tr เหมาะสำหรับการลบอักขระ, มันไม่สามารถจัดการกับรูปแบบที่ซับซ้อนได้ sed, ในทางกลับกัน, ใช้ regular expressions, ดังนั้นบางครั้งอาจเป็นการใช้จ่ายมากเกินไปและอาจช้ากว่าสำหรับการดำเนินการง่ายๆ

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

ดูเพิ่มเติม: