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

วิธีเชื่อมต่อสตริงและตัวแปรใน PowerShell ได้อย่างไร


เมื่อเร็วๆ นี้ ฉันจำเป็นต้องเชื่อมสตริงเข้ากับตัวแปรใน PowerShell ฉันลองวิธีการต่างๆ ในบทช่วยสอนนี้ ฉันจะอธิบายวิธีเชื่อมสตริงและตัวแปรใน PowerShell พร้อมตัวอย่าง

หากต้องการเชื่อมสตริงกับตัวแปรใน PowerShell คุณสามารถใช้ตัวดำเนินการ + ซึ่งจะรวมสตริงและตัวแปรโดยตรง ตัวอย่างเช่น $city=“นิวยอร์ก”; $state=“นิวยอร์ก”; $address=$city + “, ” + $state ให้ผลลัพธ์เป็น “นิวยอร์ก, นิวยอร์ก” คุณยังสามารถใช้นิพจน์ย่อย $() ภายในสตริงที่มีเครื่องหมายคำพูดคู่เพื่อประเมินตัวแปร เช่น $address=“$ ($city), $ ($state)” ตัวดำเนินการรูปแบบ -f ยังสามารถใช้เพื่อแทรกตัวแปรลงในสตริง เช่น $address=“{0}, {1}” -f $city, $state สำหรับการเข้าร่วมหลายสตริงในอาร์เรย์ ตัวดำเนินการ -join เหมาะอย่างยิ่ง ดังเช่นใน $address=$parts -join “, “.

เชื่อมต่อสตริงและตัวแปรใน PowerShell

ตอนนี้ให้เราเข้าใจแต่ละวิธีพร้อมตัวอย่าง

วิธีที่ 1: การใช้ตัวดำเนินการ +

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

$city = "New York"
$state = "New York"
$address = $city + ", " + $state
Write-Host $address

ในตัวอย่างนี้ เรากำลังเชื่อมชื่อเมืองและรัฐเข้าด้วยกันโดยใช้ตัวดำเนินการ + ส่งผลให้ได้ผลลัพธ์ดังนี้:

New York, New York

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

อ่านการต่อสตริงและจำนวนเต็มใน PowerShell

วิธีที่ 2: การใช้ Subexpression $()

นี่เป็นอีกวิธีหนึ่ง

ใน PowerShel เมื่อคุณต้องการรวมตัวแปรไว้ในสตริง คุณสามารถใช้นิพจน์ย่อย $() เพื่อประเมินตัวแปรภายในสตริงที่มีเครื่องหมายคำพูดคู่

นี่คือตัวอย่างที่สมบูรณ์และโค้ด

$city = "Los Angeles"
$state = "California"
$address = "$($city), $($state)"
Write-Host $address

ในที่นี้ ไวยากรณ์ $() อนุญาตให้ตัวแปร $city และ $state ได้รับการประเมินภายในสตริง ซึ่งทำให้เกิด:

Los Angeles, California

ตอนนี้ หากคุณดูภาพหน้าจอด้านล่าง คุณจะเห็นผลลัพธ์ที่ต้องการ:

วิธีที่ 3: การใช้ตัวดำเนินการรูปแบบ -f

-f ตัวดำเนินการรูปแบบเป็นอีกวิธีหนึ่งในการจัดรูปแบบสตริงใน PowerShell ช่วยให้คุณสามารถแทรกตัวแปรลงในสตริงได้ ด้านล่างนี้เป็นตัวอย่าง

ตัวอย่าง:

$city = "Chicago"
$state = "Illinois"
$address = "{0}, {1}" -f $city, $state
Write-Host $address

ตัวดำเนินการ -f จัดรูปแบบสตริงโดยการแทนที่ {0} และ {1} ด้วย $city และ $state ตามลำดับ ส่งผลให้:

Chicago, Illinois

อ่านการต่อสตริงภายในลูปใน PowerShell

วิธีที่ 4: การใช้ตัวดำเนินการ -join

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

คุณสามารถเข้าใจได้จากตัวอย่างด้านล่าง

$parts = @("Houston", "Texas")
$address = $parts -join ", "
Write-Host $address

ตัวดำเนินการ -join จะรวมองค์ประกอบของอาร์เรย์ $parts โดยมี “, ” เป็นตัวคั่น ทำให้เรา:

Houston, Texas

ฉันรันสคริปต์ด้านบนบนระบบภายในของฉัน และคุณสามารถดูผลลัพธ์ที่แน่นอนได้ในภาพหน้าจอด้านล่าง:

วิธีที่ 5: การใช้ StringBuilder เพื่อประสิทธิภาพ

หากคุณต้องการเชื่อมสตริงจำนวนมากหรือต้องการเชื่อมสตริงเข้าด้วยกันภายในลูป คุณสามารถใช้เมธอด StringBuilder ได้

นี่คือตัวอย่าง:

Add-Type -AssemblyName "System.Text"
$stringBuilder = New-Object System.Text.StringBuilder
$cities = @("Phoenix", "Arizona", "Dallas", "Texas")

foreach ($part in $cities) {
    [void]$stringBuilder.Append($part + ", ")
}

# Remove the trailing comma and space
$address = $stringBuilder.ToString().TrimEnd(", ")
Write-Host $address

ในตัวอย่างนี้ StringBuilder ถูกใช้เพื่อเชื่อมชื่อเมืองและรัฐเข้าด้วยกันอย่างมีประสิทธิภาพ ส่งผลให้:

Phoenix, Arizona, Dallas, Texas

เชื่อมต่อสตริงและตัวแปรโดยไม่มีช่องว่างใน PowerShell

หากคุณมีข้อกำหนดเฉพาะในการเชื่อมโยงสตริงและตัวแปรโดยไม่มีช่องว่างใน PowerShell คุณสามารถใช้วิธีการด้านล่างได้

1. การใช้ตัวดำเนินการ +

ตัวดำเนินการ + ช่วยให้คุณสามารถเชื่อมต่อสตริงและตัวแปรได้โดยตรงโดยไม่ต้องเพิ่มช่องว่างใน PowerShell

ผมขอยกตัวอย่างให้คุณเข้าใจมากขึ้น

$city = "SanFrancisco"
$state = "California"
$address = $city + $state
Write-Host $address

เอาท์พุต :

SanFranciscoCalifornia

หากคุณดูภาพหน้าจอด้านล่าง คุณจะเห็นผลลัพธ์ที่แน่นอน ฉันรันสคริปต์ PowerShell ด้านบนโดยใช้รหัส VS

2. การใช้นิพจน์ย่อย $()

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

นี่คือตัวอย่าง

$city = "Austin"
$state = "Texas"
$address = "$($city)$($state)"
Write-Host $address

เอาท์พุต :

AustinTexas

3. การใช้ตัวดำเนินการรูปแบบ -f

ตัวดำเนินการรูปแบบ -f ยังสามารถใช้เพื่อเชื่อมสตริงโดยไม่มีช่องว่างใน PowerShell ได้ด้วยการวางตัวแปรไว้ติดกันภายในสตริงรูปแบบโดยตรง

นี่คือตัวอย่าง

$city = "Miami"
$state = "Florida"
$address = "{0}{1}" -f $city, $state
Write-Host $address

เอาท์พุต :

MiamiFlorida

4. การใช้ StringBuilder

ใน PowerShell คุณยังสามารถใช้ StringBuilder เพื่อเชื่อมสตริงโดยไม่มีช่องว่างได้อย่างมีประสิทธิภาพ

นี่คือตัวอย่างที่จะช่วยให้คุณเข้าใจได้ดีขึ้น

Add-Type -AssemblyName "System.Text"
$stringBuilder = New-Object System.Text.StringBuilder
$cities = @("Seattle", "Washington")

foreach ($part in $cities) {
    [void]$stringBuilder.Append($part)
}

$address = $stringBuilder.ToString()
Write-Host $address

เอาท์พุต :

SeattleWashington

5. การใช้เครื่องมือจัดฟันแบบหยิก

นี่เป็นวิธีสุดท้าย: ใช้เครื่องหมายปีกกาเพื่อเชื่อมสตริงและตัวแปรโดยไม่มีช่องว่างใน PowerShell

การใช้เครื่องหมายปีกกา {} รอบตัวแปรภายในสตริงที่มีเครื่องหมายคำพูดคู่จะทำให้มั่นใจได้ว่าไม่มีการเว้นวรรคโดยไม่ได้ตั้งใจ

นี่คือตัวอย่างที่จะช่วยให้คุณเข้าใจได้ดีขึ้น

$city = "Denver"
$state = "Colorado"
$address = "${city}${state}"
Write-Host $address

เอาท์พุต :

DenverColorado

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

บทสรุป

ใน PowerShell คุณสามารถ เชื่อมสตริงและตัวแปรเข้าด้วยกันโดยไม่มีช่องว่าง โดยใช้วิธีต่างๆ เช่น การใช้ตัวดำเนินการ + นิพจน์ย่อย ตัวดำเนินการรูปแบบ -f , StringBuilder หรือวงเล็บปีกกา ฯลฯ

ฉันหวังว่าคุณจะรู้วิธีเชื่อมสตริงและตัวแปรใน PowerShell โดยใช้วิธีต่างๆ

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