วิธีลบบรรทัดว่างออกจากอาร์เรย์ใน PowerShell
คุณต้องการลบบรรทัดว่างออกจากอาร์เรย์ PowerShell หรือไม่? ในบทช่วยสอน PowerShell นี้ ฉันจะอธิบายวิธีลบบรรทัดว่างออกจากอาร์เรย์ใน PowerShell
หากต้องการลบบรรทัดว่างออกจากอาร์เรย์ใน PowerShell คุณสามารถใช้ Where-Object cmdlet พร้อมเงื่อนไขเพื่อกรองสตริงว่างหรือสตริงเฉพาะช่องว่างออก ตัวอย่างเช่น $array=$array | Where-Object { $_.Trim() -ne ” } จะลบบรรทัดว่างทั้งหมดออกจาก $array วิธีการนี้จะตรวจสอบแต่ละองค์ประกอบ ตัดช่องว่าง และตรวจสอบให้แน่ใจว่ามีเพียงสตริงที่ไม่ว่างเท่านั้นที่ยังคงอยู่ในอาร์เรย์
ลบบรรทัดว่างออกจากอาร์เรย์ใน PowerShell
อาร์เรย์เป็นโครงสร้างข้อมูลที่สามารถจัดเก็บคอลเลกชันของรายการได้ ใน PowerShell อาร์เรย์สามารถเก็บรายการประเภทใดก็ได้ รวมถึงสตริง จำนวนเต็ม และแม้แต่อาร์เรย์อื่นๆ อาร์เรย์มีประโยชน์อย่างเหลือเชื่อสำหรับการจัดเก็บและจัดการชุดข้อมูล
โดยทั่วไป “บรรทัดว่าง” ในอาร์เรย์จะแสดงด้วยสตริงว่าง ซึ่งสามารถแสดงเป็น "" หรือสตริงที่ประกอบด้วยอักขระช่องว่างเท่านั้น เช่น ช่องว่าง แท็บ หรือการขึ้นบรรทัดใหม่ การระบุสิ่งเหล่านี้อย่างถูกต้องเป็นสิ่งสำคัญเพื่อให้แน่ใจว่าจะถูกลบออกจากอาร์เรย์ PowerShell
ตอนนี้ให้เราดู 3 วิธีในการลบบรรทัดว่างออกจากอาร์เรย์ใน PowerShell สคริปต์ทั้งหมดที่ฉันได้ดำเนินการโดยใช้ Visual Studio Code
วิธีที่ 1: การใช้ Where-Object Cmdlet
หนึ่งในวิธีที่ง่ายที่สุดในการลบบรรทัดว่างออกจากอาร์เรย์คือการใช้ cmdlet Where-Object ใน PowerShell cmdlet นี้ช่วยให้คุณสามารถกรองรายการตามบล็อกสคริปต์ที่ส่งคืน True หรือ False
นี่คือตัวอย่างที่สมบูรณ์ของการลบบรรทัดว่างออกจากอาร์เรย์ PowerShell
# Create an array with blank lines
$arrayWithBlanks = @("Line1", "", "Line2", " ", "Line3")
# Remove the blank lines
$cleanArray = $arrayWithBlanks | Where-Object { $_.Trim() -ne "" }
# Display the clean array
$cleanArrayในตัวอย่างข้างต้น $_ แสดงถึงแต่ละรายการในอาร์เรย์ และใช้เมธอด .Trim() เพื่อลบอักขระช่องว่างที่นำหน้าหรือต่อท้าย การเปรียบเทียบ -ne "" จะตรวจสอบว่ารายการที่ตัดแต่งไม่ใช่สตริงว่างหรือไม่
คุณสามารถตรวจสอบผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
วิธีที่ 2: การใช้ลูป foreach
อีกวิธีในการลบบรรทัดว่างใน PowerShell คือการใช้ลูป foreach เพื่อวนซ้ำแต่ละรายการในอาร์เรย์และรวบรวมรายการที่ไม่ว่างเปล่าลงในอาร์เรย์ใหม่
นี่คือสคริปต์ PowerShell ฉบับเต็ม
# Create an array with blank lines
$arrayWithBlanks = @("Line1", "", "Line2", " ", "Line3")
# Create an empty array to hold non-empty lines
$cleanArray = @()
# Loop through each item and add non-empty lines to the clean array
foreach ($line in $arrayWithBlanks) {
if ($line.Trim() -ne "") {
$cleanArray += $line
}
}
# Display the clean array
$cleanArrayวิธีการนี้ช่วยให้คุณควบคุมกระบวนการได้มากขึ้น และช่วยให้ผู้เริ่มต้นเข้าใจได้ง่ายขึ้น เนื่องจากจะแจกแจงขั้นตอนการกรองอาร์เรย์ ดูภาพหน้าจอด้านล่างเพื่อดูผลลัพธ์:
วิธีที่ 3: การใช้นิพจน์ทั่วไปกับตัวดำเนินการ -match
PowerShell ยังรองรับนิพจน์ทั่วไป ซึ่งสามารถใช้เพื่อระบุและลบบรรทัดว่างโดยใช้ตัวดำเนินการ -match
ต่อไปนี้เป็นตัวอย่างที่สมบูรณ์ของวิธีใช้นิพจน์ทั่วไปเพื่อลบบรรทัดว่างออกจากอาร์เรย์ PowerShell
# Create an array with blank lines
$arrayWithBlanks = @("Line1", "", "Line2", " ", "Line3")
# Use regex to remove blank lines
$cleanArray = $arrayWithBlanks | Where-Object { $_ -match "\S" }
# Display the clean array
$cleanArrayในตัวอย่างนี้ \S คือรูปแบบ regex ที่ตรงกับอักขระที่ไม่ใช่ช่องว่าง ตัวดำเนินการ -match ส่งคืน True สำหรับสตริงใดๆ ที่มีอักขระที่ไม่ใช่ช่องว่างอย่างน้อยหนึ่งตัว ซึ่งจะกรองบรรทัดว่างออกได้อย่างมีประสิทธิภาพ
นี่คือผลลัพธ์ในภาพหน้าจอด้านล่าง
บทสรุป
การลบบรรทัดว่างออกจากอาร์เรย์ใน PowerShell สามารถทำได้โดยใช้วิธีการต่างๆ เช่น cmdlet Where-Object ตรงไปตรงมาและกระชับ ส่วน foreach loop ให้ตรรกะและการควบคุมที่ชัดเจน และสม่ำเสมอ นิพจน์ให้ความสามารถในการจับคู่รูปแบบที่มีประสิทธิภาพ
ในบทช่วยสอนสคริปต์ PowerShell นี้ ฉันได้อธิบายวิธีลบบรรทัดว่างออกจากอาร์เรย์ใน PowerShell โดยใช้วิธีการและตัวอย่างต่างๆ


