จะตรวจสอบว่าสตริงมีช่องว่างใน PowerShell ได้อย่างไร
เมื่อเร็วๆ นี้ ฉันได้รับข้อกำหนดให้ตรวจสอบว่าสตริงมีช่องว่างใน PowerShell หรือไม่ มีวิธีการที่แตกต่างกันในการทำเช่นนั้น ในบทช่วยสอนนี้ ฉันจะแสดงวิธีตรวจสอบว่าสตริงมีการเว้นวรรคใน PowerShell หรือไม่ พร้อมตัวอย่าง
ในการตรวจสอบว่าสตริงมีการเว้นวรรคใน PowerShell หรือไม่ คุณสามารถใช้ตัวดำเนินการ -match กับรูปแบบนิพจน์ทั่วไป \s ซึ่งตรงกับอักขระช่องว่างใดๆ ตัวอย่างเช่น หากคุณมีสตริง $username="John Doe" คุณสามารถใช้เงื่อนไข if ($username -match "\s") เพื่อพิจารณาว่า มีช่องว่าง
ตรวจสอบว่าสตริงมีช่องว่างใน PowerShell หรือไม่
PowerShell ใช้วิธีการต่างๆ เพื่อตรวจสอบว่าสตริงมีช่องว่างหรือไม่ ฉันขอแสดงวิธีการทั้งหมดพร้อมตัวอย่างให้คุณดู
วิธีที่ 1: การใช้ตัวดำเนินการ -match
ตัวดำเนินการ -match ใน PowerShell ใช้นิพจน์ทั่วไปเพื่อจับคู่รูปแบบในสตริง หากต้องการตรวจสอบว่าสตริงมีการเว้นวรรคหรือไม่ คุณสามารถใช้รูปแบบ regex \s ซึ่งตรงกับอักขระช่องว่างใดๆ รวมถึงการเว้นวรรคด้วย
ฉันขอแสดงตัวอย่างให้คุณดู
ตัวอย่าง: การตรวจสอบความถูกต้องของชื่อผู้ใช้
สมมติว่าคุณกำลังเขียนสคริปต์เพื่อตรวจสอบความถูกต้องของชื่อผู้ใช้ และต้องการให้แน่ใจว่าชื่อผู้ใช้ไม่มีการเว้นวรรค
$username = "John Doe"
if ($username -match "\s") {
Write-Output "The username contains a space."
} else {
Write-Output "The username is valid."
}ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าตัวแปร $username มีช่องว่างหรือไม่และแสดงข้อความตามนั้น
ผลลัพธ์ที่แน่นอนอยู่ในภาพหน้าจอด้านล่าง หลังจากที่ฉันรันสคริปต์ PowerShell โดยใช้รหัส VS
ตรวจสอบว่าสตริงมีเฉพาะตัวเลขใน PowerShell หรือไม่
วิธีที่ 2: การใช้วิธีมี()
วิธี Contains เป็นอีกวิธีหนึ่งในการตรวจสอบว่าสตริงมีสตริงย่อยเฉพาะหรือไม่ รวมถึงช่องว่างใน PowerShell อย่างไรก็ตาม จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และไม่รองรับนิพจน์ทั่วไป
ตัวอย่าง: การประมวลผลเส้นทางของไฟล์
ลองนึกภาพการประมวลผลรายการเส้นทางของไฟล์และจำเป็นต้องระบุเส้นทางที่มีช่องว่าง
$filePath = "C:\Program Files\MyApp\config.txt"
if ($filePath.Contains(" ")) {
Write-Output "The file path contains a space."
} else {
Write-Output "The file path does not contain a space."
}ตัวอย่างนี้จะตรวจสอบว่าตัวแปร $filePath มีช่องว่างและแสดงข้อความตามนั้นหรือไม่
นี่คือผลลัพธ์ในภาพหน้าจอด้านล่าง:
วิธีที่ 3: การใช้ตัวดำเนินการ -like
ตัวดำเนินการ -like ใน PowerShell รองรับการจับคู่รูปแบบไวด์การ์ด หากต้องการตรวจสอบช่องว่าง คุณสามารถใช้ไวด์การ์ด * เพื่อจับคู่ลำดับอักขระใดก็ได้
ตัวอย่าง: การกรองรายการบันทึก
สมมติว่าคุณมีไฟล์บันทึกและต้องการกรองรายการที่มีช่องว่าง
$logEntry = "Error: Disk space low"
if ($logEntry -like "* *") {
Write-Output "The log entry contains a space."
} else {
Write-Output "The log entry does not contain a space."
}ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าตัวแปร $logEntry มีช่องว่างหรือไม่และแสดงข้อความตามนั้น
ตรวจสอบ PowerShell - มีตัวดำเนินการ
วิธีที่ 4: การใช้วิธีแยก()
สามารถใช้วิธี Split เพื่อแยกสตริงออกเป็นอาร์เรย์โดยยึดตามตัวคั่นใน PowerShell ด้วยการแบ่งสตริงตามช่องว่าง คุณสามารถระบุได้ว่าสตริงต้นฉบับมีช่องว่างหรือไม่
นี่คือตัวอย่างจริง
ตัวอย่าง: การแยกวิเคราะห์ข้อมูล CSV
พิจารณาสถานการณ์ที่คุณกำลังแยกวิเคราะห์ข้อมูล CSV และจำเป็นต้องตรวจสอบว่าช่องใดมีช่องว่างหรือไม่ นี่คือสคริปต์ PowerShell ที่สมบูรณ์
$csvField = "John,Doe,35,New York"
$fields = $csvField.Split(",")
foreach ($field in $fields) {
if ($field -match "\s") {
Write-Output "The field '$field' contains a space."
} else {
Write-Output "The field '$field' does not contain a space."
}
}ตัวอย่างนี้แยกตัวแปร $csvField ออกเป็นอาร์เรย์ของช่องและตรวจสอบแต่ละช่องว่ามีช่องว่างหรือไม่
นี่คือผลลัพธ์ในภาพหน้าจอด้านล่าง:
ตรวจสอบว่าสตริงมีสตริงย่อยใน PowerShell หรือไม่
วิธีที่ 5: การใช้วิธี IndexOf()
วิธีการ IndexOf ส่งกลับดัชนีศูนย์ของการเกิดขึ้นครั้งแรกของอักขระที่ระบุในสตริง หากไม่พบอักขระ ก็จะส่งกลับ -1 นี่เป็นอีกวิธีในการตรวจสอบว่าสตริงมีช่องว่างใน PowerShell หรือไม่
ตัวอย่าง: การตรวจสอบความถูกต้องของที่อยู่อีเมล
สมมติว่าคุณตรวจสอบที่อยู่อีเมลและต้องการให้แน่ใจว่าที่อยู่อีเมลไม่มีการเว้นวรรค
$email = "john.doe@example.com"
if ($email.IndexOf(" ") -ne -1) {
Write-Output "The email address contains a space."
} else {
Write-Output "The email address is valid."
}ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าตัวแปร $email มีช่องว่างหรือไม่และแสดงข้อความตามนั้น
คุณสามารถดูผลลัพธ์ที่แน่นอนได้ในภาพหน้าจอด้านล่าง:
บทสรุป
ในบทช่วยสอนนี้ ฉันอธิบายวิธีตรวจสอบว่าสตริงมีช่องว่างใน PowerShell หรือไม่ โดยใช้วิธีต่างๆ เช่น:
- การใช้ตัวดำเนินการ -match
- การใช้เมธอดมี()
- การใช้ตัวดำเนินการ -like
- ใช้วิธีแยก()
- ใช้เมธอด IndexOf()
ฉันได้อธิบายตัวอย่างจริงบางส่วนเกี่ยวกับเรื่องนี้แล้ว และหวังว่าบทช่วยสอนนี้จะช่วยคุณได้



