วิธีการสตริงย่อย 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) คลิกปุ่มเริ่มบนแถบเครื่องมือเพื่อรันโค้ด คุณควรได้รับผลลัพธ์ดังต่อไปนี้:

เราได้ใช้โค้ดดังต่อไปนี้:

คำอธิบายของรหัส:

  1. การสร้างโมดูลชื่อ Module1
  2. เริ่มขั้นตอนย่อยหลัก
  3. การกำหนดตัวแปรสตริงชื่อ st และกำหนดค่า Guru99 ให้กับตัวแปรนั้น
  4. การกำหนดตัวแปรสตริงชื่อ 'subst' เป็นสตริงย่อยของสตริง 'st' จากดัชนี 0f และความยาว 4 ตัวอักษร
  5. พิมพ์ข้อความและสตริงย่อยด้านบนบนคอนโซล
  6. การหยุดหน้าต่างคอนโซลชั่วคราวชั่วขณะหนึ่งเพื่อรอให้ผู้ใช้ดำเนินการเพื่อปิดหน้าต่างดังกล่าว
  7. สิ้นสุดขั้นตอนย่อยหลัก
  8. จุดสิ้นสุดของโมดูล

อาร์กิวเมนต์หนึ่ง

จะเกิดอะไรขึ้นถ้าเราส่งผ่านอาร์กิวเมนต์เดียวไปยังฟังก์ชัน? ฟังก์ชันจะคัดลอกข้อมูลทั้งหมดในสตริงที่เริ่มต้นจากดัชนีนั้น สิ่งที่เกิดขึ้นคือฟังก์ชัน 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 เพื่อรันโค้ด คุณจะได้รับผลลัพธ์ดังต่อไปนี้:

เราได้ใช้โค้ดดังต่อไปนี้:

คำอธิบายของรหัส:

  1. การสร้างโมดูลชื่อ Module1
  2. เริ่มขั้นตอนย่อยหลัก
  3. การกำหนดตัวแปรสตริงชื่อ st และกำหนดค่า Guru99 ให้กับตัวแปรนั้น
  4. การกำหนดตัวแปรสตริงชื่อ mid1 และรับอักขระที่ดัชนี 1 ของ String st อักขระนี้จะถูกกำหนดให้กับตัวแปร mid1
  5. การพิมพ์อักขระด้านบนบนคอนโซล
  6. การกำหนดตัวแปรสตริงชื่อ mid2 และรับอักขระที่ดัชนี 1 ที่มีความยาว 1 จาก String st ความยาว 1 หมายความว่าจะส่งกลับอักขระเดิมที่ดัชนีเริ่มต้น การนับเริ่มต้นจากดัชนีเริ่มต้นที่คุณระบุ อักขระนี้จะถูกกำหนดให้กับตัวแปร mid2
  7. การพิมพ์อักขระด้านบนบนคอนโซล
  8. การหยุดหน้าต่างคอนโซลชั่วคราวชั่วขณะหนึ่งเพื่อรอให้ผู้ใช้ดำเนินการเพื่อปิดหน้าต่างดังกล่าว
  9. สิ้นสุดขั้นตอนย่อยหลัก
  10. จุดสิ้นสุดของโมดูล

สรุป

  • ฟังก์ชันสตริงย่อยถูกกำหนดไว้ในคลาสสตริงของ Visual Basic.NET
  • ยอมรับสองอาร์กิวเมนต์ ซึ่งเป็นจุดเริ่มต้นของสตริงย่อยและความยาวของสตริงย่อย
  • เราสามารถเล่นกับอาร์กิวเมนต์เหล่านี้เพื่อรับชุดสตริงย่อยต่างๆ จากสตริงหลักได้