วิธีการสตริงย่อย VB.NET พร้อมตัวอย่าง
สตริงย่อยคืออะไร?
ฟังก์ชันสตริงย่อยใช้เพื่อรับส่วนหนึ่งของสตริงที่ระบุ วิธีการนี้ถูกกำหนดไว้ในคลาส String ของ Microsoft วีบี.เน็ต คุณต้องระบุดัชนีเริ่มต้นที่จะแยกสตริง สตริงจะถูกแยกออกจากดัชนีนั้นตามความยาวที่คุณระบุ
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้
ไวยากรณ์ของสตริงย่อย
ฟังก์ชันนี้ยอมรับอาร์กิวเมนต์สองตัวตามที่แสดงในไวยากรณ์ต่อไปนี้:
Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String
ที่นี่
- คีย์เวิร์ด ByVal หมายถึง pass-by-value ซึ่งเป็นกลไกในการส่งผ่านอาร์กิวเมนต์ไปยังฟังก์ชัน
- start_Index คือดัชนีที่จะได้รับสตริงย่อย
- sub_length หมายถึงความยาวสูงสุดที่สตริงจะถูกคัดลอกจาก start_Index ความยาวนี้วัดจากจำนวนอักขระ ฟังก์ชั่นจะส่งคืนสตริงย่อยที่แยกออกมา
ตัวอย่าง
ขั้นตอน 1) สร้างแอปพลิเคชันคอนโซลใหม่
ขั้นตอน 2) เพิ่มโค้ดต่อไปนี้เข้าไป:
Module Module1 Sub Main() Dim st As String = "Guru99" Dim subst As String = st.Substring(0, 4) Console.WriteLine("The substring is: {0}", subst) Console.ReadKey() End Sub End Module
ขั้นตอน 3) คลิกปุ่มเริ่มบนแถบเครื่องมือเพื่อรันโค้ด คุณควรได้รับผลลัพธ์ดังต่อไปนี้:
เราได้ใช้โค้ดดังต่อไปนี้:
คำอธิบายของรหัส:
- การสร้างโมดูลชื่อ Module1
- เริ่มขั้นตอนย่อยหลัก
- การกำหนดตัวแปรสตริงชื่อ st และกำหนดค่า Guru99 ให้กับตัวแปรนั้น
- การกำหนดตัวแปรสตริงชื่อ 'subst' เป็นสตริงย่อยของสตริง 'st' จากดัชนี 0f และความยาว 4 ตัวอักษร
- พิมพ์ข้อความและสตริงย่อยด้านบนบนคอนโซล
- การหยุดหน้าต่างคอนโซลชั่วคราวชั่วขณะหนึ่งเพื่อรอให้ผู้ใช้ดำเนินการเพื่อปิดหน้าต่างดังกล่าว
- สิ้นสุดขั้นตอนย่อยหลัก
- จุดสิ้นสุดของโมดูล
อาร์กิวเมนต์หนึ่ง
จะเกิดอะไรขึ้นถ้าเราส่งผ่านอาร์กิวเมนต์เดียวไปยังฟังก์ชัน? ฟังก์ชันจะคัดลอกข้อมูลทั้งหมดในสตริงที่เริ่มต้นจากดัชนีนั้น สิ่งที่เกิดขึ้นคือฟังก์ชัน Substring จะคัดลอกข้อมูลสตริงทั้งหมดที่ดัชนีนั้นรวมทั้งข้อมูลที่ตามหลังดัชนีนั้นภายใน ตัวอย่างเช่น:
Module Module1 Sub Main() Dim st As String = "Guru99" Dim subst As String = st.Substring(4) Console.WriteLine("The substring is: {0}", subst) Console.ReadKey() End Sub End Module
คลิกปุ่มเริ่มเพื่อรันโค้ด ผลลัพธ์ควรเป็นดังนี้:
ฟังก์ชันสตริงย่อยส่งคืน 99 เราส่งพารามิเตอร์ 4 ไปยังฟังก์ชัน ซึ่งหมายความว่าฟังก์ชันจะเริ่มแยกสตริงย่อยจากอักขระที่ดัชนี 4 ไปยังจุดสิ้นสุดของสตริง 9 คืออักขระที่ดัชนี 4 ของสตริง Guru99 ดังนั้นการแยกจึงเริ่มต้นที่นั่น
ตัวละครกลาง
นอกจากนี้ เรายังสามารถรับอักขระตรงกลางของสตริงที่ต้องการได้อีกด้วย ในกรณีนี้ เราเพียงแค่ต้องระบุดัชนีเริ่มต้นและความยาวของสตริงที่ต้องการเท่านั้น ในตัวอย่างต่อไปนี้ เราจะรับสตริงย่อยของสตริงที่ระบุจากดัชนี 2 และสตริงจะมีความยาว 2 อักขระ:
Module Module1 Sub Main() Dim st As String = "Guru99" Dim subst As String = st.Substring(2, 2) Console.WriteLine("The substring is: {0}", subst) Console.ReadKey() End Sub End Module
คลิกปุ่ม Start จากแถบเครื่องมือเพื่อรันโค้ด คุณจะได้รับผลลัพธ์ดังต่อไปนี้:
ในตัวอย่างข้างต้น ฟังก์ชันสตริงย่อยส่งคืน ru เราส่งพารามิเตอร์ (2, 2) ไปยังฟังก์ชัน 2 ตัวแรกสั่งให้ฟังก์ชันเริ่มต้นการแยกสตริงย่อยจากดัชนี 2 ในขณะที่ 2 ตัวแรกสั่งให้ฟังก์ชันส่งคืนสตริงย่อยที่มีความยาว 2 อักขระเท่านั้น ซึ่งหมายความว่าการแยกสตริงย่อยควรเริ่มต้นจากองค์ประกอบที่อยู่ในดัชนี 2 ของสตริง Guru99 ซึ่งก็คือ r เนื่องจากสตริงย่อยที่ส่งคืนควรมีความยาวเพียง 2 ตัวอักษรเท่านั้น การแยกจะไม่ผ่าน 'u' ดังนั้นจึงส่งคืน 'ru'
หนึ่งชาร์
เราสามารถใช้ฟังก์ชัน Substring เพื่อรับอักขระตัวเดียวจากสตริงได้ ในกรณีดังกล่าว คุณจำเป็นต้องทำการจัดสรร แต่สามารถเข้าถึงอักขระได้โดยตรง วิธีนี้เร็วกว่าเล็กน้อย ตัวอย่างต่อไปนี้จะสาธิตสองวิธีที่เราจะทำได้:
Module Module1 Sub Main() Dim st As String = "Guru99" Dim mid1 As Char = st(1) Console.WriteLine(mid1) Dim mid2 As String = st.Substring(1, 1) Console.WriteLine(mid2) Console.ReadKey() End Sub End Module
คลิกปุ่ม Start เพื่อรันโค้ด คุณจะได้รับผลลัพธ์ดังต่อไปนี้:
เราได้ใช้โค้ดดังต่อไปนี้:
คำอธิบายของรหัส:
- การสร้างโมดูลชื่อ Module1
- เริ่มขั้นตอนย่อยหลัก
- การกำหนดตัวแปรสตริงชื่อ st และกำหนดค่า Guru99 ให้กับตัวแปรนั้น
- การกำหนดตัวแปรสตริงชื่อ mid1 และรับอักขระที่ดัชนี 1 ของ String st อักขระนี้จะถูกกำหนดให้กับตัวแปร mid1
- การพิมพ์อักขระด้านบนบนคอนโซล
- การกำหนดตัวแปรสตริงชื่อ mid2 และรับอักขระที่ดัชนี 1 ที่มีความยาว 1 จาก String st ความยาว 1 หมายความว่าจะส่งกลับอักขระเดิมที่ดัชนีเริ่มต้น การนับเริ่มต้นจากดัชนีเริ่มต้นที่คุณระบุ อักขระนี้จะถูกกำหนดให้กับตัวแปร mid2
- การพิมพ์อักขระด้านบนบนคอนโซล
- การหยุดหน้าต่างคอนโซลชั่วคราวชั่วขณะหนึ่งเพื่อรอให้ผู้ใช้ดำเนินการเพื่อปิดหน้าต่างดังกล่าว
- สิ้นสุดขั้นตอนย่อยหลัก
- จุดสิ้นสุดของโมดูล
สรุป
- ฟังก์ชันสตริงย่อยถูกกำหนดไว้ในคลาสสตริงของ Visual Basic.NET
- ยอมรับสองอาร์กิวเมนต์ ซึ่งเป็นจุดเริ่มต้นของสตริงย่อยและความยาวของสตริงย่อย
- เราสามารถเล่นกับอาร์กิวเมนต์เหล่านี้เพื่อรับชุดสตริงย่อยต่างๆ จากสตริงหลักได้