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

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

วิธีการ:

คุณสามารถใช้ตัวดำเนินการ -replace เพื่อลบอัญประกาศจากสตริง นี่คือวิธีการ:

# แทนที่อัญประกาศเดี่ยว
$stringWithSingleQuotes = "'สวัสดี, โลก!'"
$cleanString = $stringWithSingleQuotes -replace "'", ""
Write-Output $cleanString  # ผลลัพธ์: สวัสดี, โลก!

# แทนที่อัญประกาศคู่
$stringWithDoubleQuotes = '"สวัสดี, โลก!"'
$cleanString = $stringWithDoubleQuotes -replace '"', ""
Write-Output $cleanString  # ผลลัพธ์: สวัสดี, โลก!

สำหรับทั้งสองประเภท:

$stringWithQuotes = '"สวัสดี," เธอพูด.'
$cleanString = $stringWithQuotes -replace "[\"']", ""  # โปรดสังเกตการใช้คลาสอักขระ regex
Write-Output $cleanString  # ผลลัพธ์: สวัสดี, เธอพูด.

ตัวอย่างผลลัพธ์จากคอนโซลจะปรากฏออกมาประมาณนี้:

สวัสดี, โลก!
สวัสดี, โลก!
สวัสดี, เธอพูด.

การดำดิ่งลึก

ในอดีต, ก่อนที่ PowerShell จะเป็นจุดสนใจของ Microsoft, การประมวลผลข้อความใน Windows มักเป็นขอบเขตของแบทช์สคริปต์ที่มีความสามารถจำกัด PowerShell นำเสนอมาพร้อมกับคุณสมบัติการจัดการสตริงที่ทรงพลังทำให้สคริปต์มีความเข้มแข็งมากขึ้น

มีตัวเลือกอื่นนอกจากการใช้ -replace, เช่น การใช้เมธอด .Trim() เพื่อลบอัญประกาศที่อยู่ต้นและท้ายของสตริง แต่วิธีเหล่านั้นไม่ได้ให้การควบคุมหรือรองรับ regex เท่ากับการใช้ -replace

# การใช้ .Trim() สำหรับอัญประกาศที่ต้นและท้าย
$stringWithQuotes = '"สวัสดี, โลก!"'
$cleanString = $stringWithQuotes.Trim('"')
Write-Output $cleanString  # ผลลัพธ์: สวัสดี, โลก!

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

ดูเพิ่มเติม

  • สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ regex ใน PowerShell, ตรวจสอบเอกสารอย่างเป็นทางการ: about_Regular_Expressions
  • ค้นพบเมธอดสตริงอื่นๆ: Trim(), TrimStart(), TrimEnd()