ค้นหาเว็บไซต์

PowerShell: วิธีใช้การเปลี่ยนโดยไม่คำนึงถึงขนาดตัวพิมพ์


คุณสามารถใช้ตัวดำเนินการ -replace เพื่อดำเนินการแทนที่โดยคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน PowerShell:

$original_string -replace "ZACH", "Andy"

ตัวอย่างนี้จะแทนที่สตริง “Zach” ด้วยสตริง “Andy“ ในตัวแปรสตริงชื่อ $Original_string โดยไม่คำนึงถึงตัวพิมพ์

ซึ่งหมายความว่ารูปแบบต่างๆ เช่น ZACH, Zach และ zach จะถูกแทนที่ด้วย Andy ในสถานการณ์นี้

ในทางตรงกันข้าม วิธีการ แทนที่() จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และจะดำเนินการแทนที่เมื่อพบตัวพิมพ์ที่ตรงกันทุกประการเท่านั้น

ตัวอย่างต่อไปนี้แสดงวิธีใช้ตัวดำเนินการ -replace ในทางปฏิบัติ

ตัวอย่าง: วิธีใช้การเปลี่ยนโดยคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน PowerShell

สมมติว่าเราสร้างตัวแปรสตริงชื่อ $Original_string ใน PowerShell ซึ่งมีสตริงต่อไปนี้:

  • “ฉันชื่อแซค”

สมมติว่าเราพยายามใช้วิธี Replace() เพื่อแทนที่ “ZACH” ด้วย “Andy” แทน:

$original_string = "My name is Zach"
$original_string.Replace("ZACH", "Andy")

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

โปรดสังเกตว่าไม่มีการแทนที่เนื่องจากข้อความ "ZACH" ไม่ตรงกับตัวพิมพ์ของ "Zach" ในตัวแปรสตริง

หากต้องการดำเนินการแทนที่โดยไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เราต้องใช้ตัวดำเนินการ -replace แทน:

$original_string = "My name is Zach"
$original_string -replace "ZACH", "Andy"

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

โปรดสังเกตว่า "Zach" ถูกแทนที่ด้วย "Andy" เนื่องจากครั้งนี้เราใช้การแทนที่แบบไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

โปรดทราบว่าคุณสามารถใช้ตัวดำเนินการ -ireplace เพื่อให้การแทนที่ไม่คำนึงถึงขนาดตัวพิมพ์อย่างชัดเจน:

$original_string = "My name is Zach"
$original_string -ireplace "ZACH", "Andy"

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

เป็นอีกครั้งที่ “Zach” ถูกแทนที่ด้วย “Andy” เนื่องจากเราใช้ตัวดำเนินการ -ireplace เพื่อดำเนินการแทนที่โดยไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

หมายเหตุ: คุณสามารถดูเอกสารฉบับสมบูรณ์สำหรับตัวดำเนินการ -replace และ -ireplace ใน PowerShell ได้ที่นี่

บทความที่เกี่ยวข้อง