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

วิธีแยกสตริงตามอักขระแท็บใน PowerShell


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

แยกสตริงตามอักขระแท็บใน PowerShell

หากต้องการแยกสตริงด้วยอักขระแท็บใน PowerShell คุณสามารถใช้ตัวดำเนินการ -split หรือเมธอด Split() ต่อไปนี้เป็นขั้นตอนสำหรับทั้งสองวิธี:

การใช้ตัวดำเนินการ -split

ตัวดำเนินการ -split ใน PowerShell สามารถแยกสตริงตามตัวคั่นได้ เมื่อจัดการกับอักขระแท็บ คุณสามารถระบุอักขระแท็บเป็นตัวคั่นได้

# Example string with tab characters
$string = "Name`t Age`t Location"

# Split the string by tab character
$splitArray = $string -split "`t"

# Output the result
$splitArray

ในตัวอย่างนี้ สตริง "Name`t Age`t Location" จะถูกแบ่งออกเป็นอาร์เรย์ @("Name", "Age", "Location") โดยใช้ ตัวดำเนินการ -split ที่มีอักขระแท็บที่ระบุเป็น `t

คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่างหลังจากที่ฉันดำเนินการโดยใช้โค้ด VS

ใช้วิธีแยก()

วิธีการ Split() เป็นอีกวิธีหนึ่งในการแยกสตริงใน PowerShell วิธีการนี้เป็นส่วนหนึ่งของกรอบงาน .NET และสามารถใช้เพื่อแยกสตริงตามตัวคั่นที่ระบุ

# Example string with tab characters
$string = "Name`t Age`t Location"

# Split the string by tab character
$splitArray = $string.Split("`t")

# Output the result
$splitArray

เช่นเดียวกับตัวดำเนินการ -split เมธอด Split() จะแยกสตริงออกเป็นอาร์เรย์โดยใช้อักขระแท็บเป็นตัวคั่น

นี่คือผลลัพธ์ที่คุณสามารถดูได้:

อ่านวิธีรับความยาวสตริงเป็นไบต์ใน PowerShell

แยกสตริงตามอักขระพิเศษใน PowerShell

PowerShell ยังสามารถแยกสตริงด้วยอักขระพิเศษต่างๆ เช่น เครื่องหมายจุลภาค อัฒภาค หรืออักขระอื่นๆ ต่อไปนี้คือตัวอย่างวิธีแยกสตริงด้วยเครื่องหมายจุลภาค:

# Example string with commas
$string = "apple,orange,banana"

# Split the string by comma
$splitArray = $string -split ","

# Output the result
$splitArray

ในกรณีนี้ สตริง "apple,orange,banana" จะถูกแบ่งออกเป็นอาร์เรย์ @("apple", "orange", "banana") โดยใช้เครื่องหมายจุลภาคเป็น ตัวคั่น

คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:

แยกสตริงตามอักขระ Escape ใน PowerShell

อักขระ Escape ใน PowerShell ใช้เพื่อแสดงอักขระพิเศษในสตริง ตัวอย่างเช่น ขึ้นบรรทัดใหม่ (\n) แท็บ (\t) และการขึ้นบรรทัดใหม่ (\r) หากต้องการแยกสตริงด้วยอักขระ Escape คุณสามารถระบุอักขระ Escape เป็นตัวคั่นได้

# Example string with newlines
$string = "Line1`nLine2`nLine3"

# Split the string by newline character
$splitArray = $string -split "`n"

# Output the result
$splitArray

ในที่นี้ สตริง "Line1nLine2nLine3" จะถูกแบ่งออกเป็นอาร์เรย์ @("Line1", "Line2", "Line3") โดย ใช้อักขระขึ้นบรรทัดใหม่ `n เป็นตัวคั่น

ฉันรันสคริปต์ PowerShell โดยใช้รหัส VS

แยกสตริงตามจำนวนอักขระใน PowerShell

บางครั้งคุณอาจต้องแยกสตริงออกเป็นชิ้นๆ ตามความยาวที่กำหนด PowerShell ไม่มีตัวดำเนินการในตัวสำหรับสิ่งนี้ แต่คุณสามารถทำได้โดยใช้การวนซ้ำ

# Example string
$string = "abcdefghij"

# Define the chunk size
$chunkSize = 3

# Initialize an empty array to hold the chunks
$chunks = @()

# Loop through the string and split it by character count
for ($i = 0; $i -lt $string.Length; $i += $chunkSize) {
    $chunks += $string.Substring($i, [Math]::Min($chunkSize, $string.Length - $i))
}

# Output the result
$chunks

ในตัวอย่างนี้ สตริง "abcdefghij" จะถูกแบ่งออกเป็นส่วนๆ ละ 3 อักขระ ส่งผลให้อาร์เรย์ @("abc", "def", "ghi", "j") .

แยกสตริงตามอักขระใน PowerShell

หากต้องการแยกสตริงด้วยอักขระเฉพาะใน PowerShell คุณสามารถใช้ตัวดำเนินการ -split หรือวิธี Split() ได้ ซึ่งตรงไปตรงมาและคล้ายกับการแยกตามอักขระแท็บ

# Example string with hyphens
$string = "one-two-three"

# Split the string by hyphen
$splitArray = $string -split "-"

# Output the result
$splitArray

ในตัวอย่างนี้ สตริง "one-two-three" ถูกแบ่งออกเป็นอาร์เรย์ @("one", "two", "three") โดยใช้ยัติภังค์เป็น ตัวคั่น

คุณสามารถดูผลลัพธ์ได้หลังจากที่ฉันรันสคริปต์โดยใช้โค้ด VS แล้ว ตามภาพหน้าจอด้านล่าง

แยกสตริงหลังอักขระใน PowerShell

หากคุณต้องการแยกสตริงและรวมตัวคั่นในสตริงย่อยที่เป็นผลลัพธ์ใน PowerShell คุณสามารถใช้นิพจน์ทั่วไปกับโอเปอเรเตอร์ -split ได้

# Example string
$string = "apple-orange-banana"

# Split the string after each hyphen
$splitArray = $string -split "(?<=-)"

# Output the result
$splitArray

ในที่นี้ สตริง "apple-orange-banana" ถูกแบ่งออกเป็น @("apple-", "orange-", "banana") โดยใช้นิพจน์ทั่วไปที่ จับคู่ตำแหน่งหลังเครื่องหมายยัติภังค์แต่ละตัว

แยกสตริงก่อนอักขระใน PowerShell

หากต้องการแยกสตริงและรวมตัวคั่นไว้ที่จุดเริ่มต้นของสตริงย่อยที่เป็นผลลัพธ์ใน PowerShell คุณยังใช้นิพจน์ทั่วไปกับโอเปอเรเตอร์ -split ได้อีกด้วย

# Example string
$string = "apple-orange-banana"

# Split the string before each hyphen
$splitArray = $string -split "(?=-)"

# Output the result
$splitArray

ในกรณีนี้ สตริง "apple-orange-banana" จะแบ่งออกเป็น @("apple", "-orange", "-banana") โดยใช้เครื่องหมายปกติ นิพจน์ที่ตรงกับตำแหน่งก่อนเครื่องหมายยัติภังค์แต่ละตัว

แยกสตริงด้วยอักขระหลายตัวใน PowerShell

หากต้องการแบ่งสตริงด้วยตัวคั่นต่างๆ ใน PowerShell คุณสามารถใช้นิพจน์ทั่วไปกับโอเปอเรเตอร์ -split ได้ นิพจน์ทั่วไปสามารถรวมตัวคั่นทั้งหมดที่คุณต้องการแยกออก

# Example string with multiple delimiters
$string = "apple,orange;banana:grape"

# Split the string by comma, semicolon, and colon
$splitArray = $string -split ",|;|:"

# Output the result
$splitArray

ในที่นี้ สตริง "apple,orange;banana:grape" จะถูกแบ่งออกเป็น @("apple", "orange", "banana", "grape") โดยใช้ นิพจน์ทั่วไปที่มีเครื่องหมายจุลภาค อัฒภาค และโคลอนเป็นตัวคั่น

ดูภาพหน้าจอด้านล่างเพื่อดูผลลัพธ์

บทสรุป

ในบทช่วยสอน PowerShell นี้ ฉันได้อธิบายวิธีแยกสตริงตามอักขระแท็บใน PowerShell นอกจากนี้ ฉันได้อธิบายตัวอย่างอื่นๆ อีกสองสามอย่าง:

  • แยกสตริงตามอักขระพิเศษใน PowerShell
  • แยกสตริงตามอักขระ Escape ใน PowerShell
  • แยกสตริงตามจำนวนอักขระใน PowerShell
  • แยกสตริงตามอักขระใน PowerShell
  • แยกสตริงหลังอักขระใน PowerShell
  • แยกสตริงก่อนอักขระใน PowerShell
  • แยกสตริงด้วยอักขระหลายตัวใน PowerShell

คุณอาจชอบบทช่วยสอนต่อไปนี้:

  • วิธีการเชื่อมต่อสตริงใน PowerShell
  • วิธีแยกสตริงและรับองค์ประกอบแรกและสุดท้ายใน PowerShell

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