ฉันจะลบ white space ทั้งหมดจากจุดเริ่มต้นและจุดสิ้นสุดของสตริงได้อย่างไร
ชอบมาก
"hello"
ผล"hello"
"hello "
ตอบแทน"hello"
" hello "
ผล"hello"
" hello world "
ตอบแทน"hello world"
ฉันจะลบ white space ทั้งหมดจากจุดเริ่มต้นและจุดสิ้นสุดของสตริงได้อย่างไร
ชอบมาก
"hello"
ผล"hello"
"hello "
ตอบแทน"hello"
" hello "
ผล"hello"
" hello world "
ตอบแทน"hello world"
คำตอบ:
String.Trim()
ส่งคืนสตริงซึ่งเท่ากับสตริงอินพุตที่มีwhite-spaceทั้งหมดซึ่งถูกตัดแต่งตั้งแต่เริ่มต้นและสิ้นสุด:
" A String ".Trim() -> "A String"
String.TrimStart()
ส่งคืนสตริงที่มี white-space trimmed ตั้งแต่เริ่มต้น:
" A String ".TrimStart() -> "A String "
String.TrimEnd()
ส่งกลับสตริงที่มีช่องว่างสีขาวถูกตัดออกจากท้าย:
" A String ".TrimEnd() -> " A String"
ไม่มีวิธีใดที่แก้ไขวัตถุสตริงต้นฉบับ
(ในการปรับใช้บางอย่างเป็นอย่างน้อยถ้าไม่มีช่องว่างสีขาวที่จะตัดคุณจะได้รับวัตถุสตริงเดียวกันกับที่คุณเริ่มต้นด้วย:
csharp> string a = "a";
csharp> string trimmed = a.Trim();
csharp> (object) a == (object) trimmed;
returns true
ฉันไม่ทราบว่าภาษานี้รับประกันได้หรือไม่)
" A String \r\n "
.Trim()
จำได้ว่านี่เป็นช่องว่างเช่นกัน
ลองดูที่Trim()
ส่งคืนสตริงใหม่โดยลบช่องว่างออกจากจุดเริ่มต้นและจุดสิ้นสุดของสตริงที่ถูกเรียกใช้
string a = " Hello ";
string trimmed = a.Trim();
trimmed
ตอนนี้ "Hello"
ใช้String.Trim()
ฟังก์ชั่น
string foo = " hello ";
string bar = foo.Trim();
Console.WriteLine(bar); // writes "hello"
ใช้String.Trim
วิธีการ
String.Trim()
ลบช่องว่างทั้งหมดออกจากจุดเริ่มต้นและจุดสิ้นสุดของสตริง หากต้องการลบช่องว่างภายในสตริงหรือทำให้ช่องว่างเป็นปกติให้ใช้นิพจน์ปกติ
.TrimEnd()
ใช้งานไม่ได้(สำหรับอักขระที่ไม่ใช่ช่องว่าง)แต่ท้ายที่สุดก็คือตัวละครที่ไม่ได้อยู่ในเอกสาร