แบบฝึกหัด - ใช้วิธีการ Remove() และ Replace()
- 8 นาที
ในแบบฝึกหัดนี้ คุณลบอักขระจากสตริงโดยใช้ Remove() เมธอด และแทนที่อักขระโดยใช้ Replace() วิธีการ
บางครั้งคุณจําเป็นต้องปรับเปลี่ยนเนื้อหาของสตริง นําออก หรือแทนที่อักขระ แม้ว่าคุณจะสามารถแทนที่อักขระด้วยเครื่องมือที่คุณรู้จักแล้วได้ แต่จะต้องเก็บและเย็บสตริงชั่วคราวเข้าด้วยกัน โชคดีที่ string ชนิดข้อมูลมีวิธีการภายในอื่น ๆ และ Remove()Replace()สําหรับสถานการณ์เฉพาะเหล่านี้
Remove()ใช้วิธีการ
โดยทั่วไป คุณจะใช้ Remove() เมื่อมีตําแหน่งมาตรฐานและตําแหน่งของอักขระที่คุณต้องการลบออกจากสตริง
แบบฝึกหัดนี้มีข้อมูลที่จัดเก็บไว้ในไฟล์เก่าที่มีความยาวคงที่และมีตําแหน่งอักขระที่จัดสรรไว้สําหรับเขตข้อมูลบางอย่าง ตัวเลขห้าหลักแรกแทนหมายเลขรหัสลูกค้า ตัวเลข 20 ตัวถัดไปประกอบด้วยชื่อของลูกค้า ตําแหน่งหกตําแหน่งถัดไปแสดงยอดเงินในใบแจ้งหนี้ล่าสุดของลูกค้า และสามตําแหน่งล่าสุดแสดงจํานวนสินค้าที่สั่งซื้อในใบแจ้งหนี้นั้น
ในขั้นตอนต่อไปนี้คุณจําเป็นต้องลบชื่อของลูกค้าเพื่อจัดรูปแบบข้อมูลเพื่อให้สามารถส่งไปยังกระบวนการแยกต่างหาก เนื่องจากคุณทราบตําแหน่งและความยาวที่แน่นอนของชื่อของผู้ใช้ คุณสามารถลบออกได้อย่างง่ายดายโดยใช้ Remove() วิธีการ
ลบอักขระในตําแหน่งที่ตั้งเฉพาะออกจากสตริง
ลบหรือใช้ตัวดําเนินการข้อคิดเห็นบรรทัด
//เพื่อให้ข้อคิดเห็นเกี่ยวกับรหัสทั้งหมดจากแบบฝึกหัดก่อนหน้านี้อัปเดตโค้ดของคุณใน Visual Studio Code Editor ดังนี้:
string data = "12345John Smith 5000 3 "; string updatedData = data.Remove(5, 20); Console.WriteLine(updatedData);บนเมนู ไฟล์ Visual Studio Code ให้เลือก บันทึก
ต้องบันทึกไฟล์ Program.cs ก่อนที่จะสร้างหรือเรียกใช้โค้ด
ในแผง EXPLORER ในการเปิดเทอร์มินัลที่ตําแหน่งโฟลเดอร์ TestProject ของคุณ ให้คลิกขวาที่ TestProjectจากนั้นเลือก เปิดในเทอร์มินัลแบบรวม
แผงเทอร์มินัลควรเปิดขึ้น และควรมีพร้อมท์คําสั่งที่แสดงว่าเทอร์มินัลเปิดอยู่ไปยังตําแหน่งที่ตั้งโฟลเดอร์ TestProject ของคุณ
ที่พร้อมท์คําสั่งเทอร์มินัล เมื่อต้องการเรียกใช้โค้ดของคุณ ให้พิมพ์ dotnet เรียกใช้ แล้วกด Enter
คุณควรเห็นผลลัพธ์ต่อไปนี้:
123455000 3วิธีการ
Remove()ทํางานคล้ายกับSubstring()วิธีการ คุณระบุตําแหน่งเริ่มต้นและความยาวเพื่อลบอักขระเหล่านั้นออกจากสตริง
Replace()ใช้วิธีการ
Replace()เมธอด จะใช้เมื่อคุณต้องการแทนที่อักขระอย่างน้อยหนึ่งตัวด้วยอักขระอื่น (หรือไม่มีอักขระ) เม Replace() ธอด จะแตกต่างจากวิธีการอื่นที่ใช้ซึ่งจะ แทนที่ทุก ๆ อินสแตนซ์ ของอักขระที่กําหนด ไม่ใช่แค่อินสแตนซ์แรกหรือสุดท้าย
เอาอักขระออกไม่ว่าอักขระจะปรากฏที่ใดในสตริง
อัปเดตโค้ดของคุณใน Visual Studio Code Editor ดังนี้:
string message = "This--is--ex-amp-le--da-ta"; message = message.Replace("--", " "); message = message.Replace("-", ""); Console.WriteLine(message);บันทึกไฟล์โค้ดของคุณ จากนั้นใช้ Visual Studio Code เพื่อเรียกใช้โค้ดของคุณ
คุณควรเห็นผลลัพธ์ต่อไปนี้:
This is example dataที่นี่คุณใช้
Replace()วิธีการ สองครั้ง ครั้งแรกที่คุณแทนที่สตริง--ด้วยช่องว่าง ครั้งที่สองคุณแทนที่สตริง-ด้วยสตริงว่าง ซึ่งจะลบอักขระออกจากสตริงโดยสมบูรณ์
สรุป
สิ่งสําคัญสองประการที่ควรจํามีดังนี้:
- เม
Remove()ธอด จะทํางานเหมือนกับSubstring()เมธอด ยกเว้นว่ามันจะลบอักขระที่ระบุในสตริง - เม
Replace()ธอด จะสลับอินสแตนซ์ทั้งหมดของสตริงที่มีสตริงใหม่
ตรวจสอบความรู้ของคุณ
คำติชม
หน้านี้มีประโยชน์หรือไม่
ไม่
ต้องการความช่วยเหลือในหัวข้อนี้หรือไม่
ต้องการลองใช้ Ask Learn เพื่อทําให้ชัดเจนหรือแนะนําคุณผ่านหัวข้อนี้หรือไม่