String

25 September 2016

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับ string ในภาษา Visual Basic เพราะว่า string นั้นมีเนื้อหาและรายละเอียดค่อนข้างมากสำหรับการเขียนโปรแกรม ดังนั้นเราจึงแบ่งเนื้อหาสำหรับพูดเรื่องนี้โดยเฉพาะ

เหมือนที่เราได้พูดไปก่อนแล้ว ในบทตัวแปรและประเภทข้อมูล string เป็นตัวแปรที่ใช้สำหรับเก็บข้อความหรือตัวอักษร หรืออีกความหมายหนึ่ง มันเป็นอาเรย์ของ Char โดยค่าของ string ในภาษา Visual Basic นั้นแสดงอยู่ในเซตของตัวอักษร Unicode ซึ่งมันเกือบจะรองรับทุกภาษาในโลก

Dim enStr As String = "Hello World"
Dim ukStr As String = "Привіт Світ"
Dim crStr As String = "Selam Dünya"

นี่เป็นตัวอย่างการกำหนดค่าของ string โดยมีเครื่องหมาย double quote "" ,้อมรอบข้อความ เราประกาศตัวแปร string ในภาษาต่างๆ

String concatenation

ในการต่อ string ในภาษา Visual Basic เราจะใช้ตัวดำเนินการสำหรับเชื่อมต่อ string อยู่สองแบบคือ & ใช้สำหรับเชื่อมออบเจ็คใดๆ รวมถึง string โดยผลลัพธ์ทีไ่ด้จะเป็น string และ + ใช้สำหรับต่อสอง string เข้าด้วยกัน ค่าที่นำมาต่อกันจะต้องเป็นข้อมูลประเภท string เท่านั้น

Module StringConcatenation

    Sub Main()

        Dim text As String = "Three Week wonders," +
        " that's what we called the new guys."
        Dim text2 As String = "Distance from the Sun to the Earth " & 94.5 & " million miles"
        Dim text3 As String = "Hello, " + vbNewLine + "how are you?"

        Console.WriteLine(text)
        Console.WriteLine(text2)
        Console.WriteLine(text3)

    End Sub

End Module

ในตัวอย่าง เป็นการต่อ string เข้าด้วยกัน เราได้ประกาศตัวแปร text และกำหนดค่าให้กับมันโดย string ใหม่ที่เชื่อมต่อกันด้วยเครื่องหมาย + ต่อมาสำหรับตัวแปร text2 เราใช้เครื่องหมาย & ในการต่อ string เข้าด้วยกันเพราะว่าค่า 94.5 นั้นเป็นข้อมูลประเภทอื่นที่ไม่ใช่ string

 Dim text3 As String = "Hello, " + vbNewLine + "how are you?"

และตัวแปรสุดท้าย text3 เราต่อ string และใช้ค่าคงที่ vbNewLine ที่มีในภาษา Visual Basic สำหรับการขึ้นบรรทัดใหม่

Three Week wonders, that's what we called the new guys.
Distance from the Sun to the Earth 94.5 million miles
Hello,
how are you?

และนี่เป็นผลลัพธ์ของโปรแกรมในการต่อ string

String comparison

ในการเขียนโปรแกรมกับ String คุณสามารถใช้ตัวดำเนินการเปรียบเทียบ สำหรับเปรียบเทียบค่าของ String ได้ เราจะมาดูการเปรียบเทียบ string ในแบบต่างๆ

Module StringCompare

    Sub Main()

        Console.WriteLine("Hi" = "Hi")
        Console.WriteLine("ab" < "aa")
        Console.WriteLine("10" < "9")
        Console.WriteLine("MARCUSCODE" <> "marcuscode")

    End Sub

End Module

ในตัวอย่างเป็นการนำ string มาเปรียบเทียบกันด้วยตัวดำเนินการต่างๆ สำหรับการเปรียบโดยการใช้ตัวดำเนินการ >, >=, < และ <= กับ string นั้น เป็นการเปรียบเทียบตาม dictionary และถ้าหากความยาวไม่เท่ากัน โปรแกรมจะทำการเปรียบเทียบในขนาดที่สั้นที่สุดของ string ทั้งสองเท่านั้น เช่นในคำสั่ง

Console.WriteLine("10" < "9")

โปรแกรมจำทำการเปรียบเทียบเพียง "1" และ ''9" เพราะว่าเป็นคู่อันดับที่สั้นที่สุดของ string ทั้งสอง จึงทำให้ในการเปรียบเทียบ "10" น้อยกว่า "9"

Console.WriteLine("MARCUSCODE" <> "marcuscode")

และ string literal ในภาษา Visual Basic นั้นเป็นแบบ cast sensitive คือตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเป็นคนละตัวกัน

True
False
True
True

และนี่เป็นผลลัพธ์ของโปรแกรม

String method

ตัวแปรทุกประเภทในภาษา Visual Basic นั้นเป็นออบเจ็ค ดังนั้น string ก็เป็นออบเจ็คเช่นเดียวกัน ภายในคลาส String จะมีเมธอดและ property สำหรับอำนวยความสะดวกต่างๆ มากมาย เราสามารถใช้เมธอดของ string จากตัวแปร string ได้ทันที

Module StringMethod

    Sub Main()

        Dim str As String = "Connection"

        Console.WriteLine(str.Contains("t"))
        Console.WriteLine(str.IndexOf("t"))
        Console.WriteLine(str.StartsWith("Con"))

        Console.WriteLine(str.Replace("tion", "ted"))
        Console.WriteLine(str.Substring(0, 4))

        Console.WriteLine(str.ToUpper)
        Console.WriteLine(str.ToLower)

    End Sub

End Module

ในตัวอย่างเป็นการใช้งานเมธอดของ string object โดยจะมีการใช้งานในรูปแบบ variableName.MethodName() สำหรับเมธอด และ variableName.PropertyName และเราได้ประกาศตัวแปร string str และกำหนดค่าให้กับมัน

Console.WriteLine(str.Contains("t"))

เมธอด Contains() ใช้สำหรับตรวจสอบว่ามีตัวอักษรอยู่ใน string หรอืไม่ ถ้ามีเมธอดคืนค่าเป็น True และถ้าไม่ False

Console.WriteLine(str.IndexOf("t"))

เมธอด IndexOf() ใช้สำหรับหาตำแหน่งแรกที่พบของตัวอักษร

Console.WriteLine(str.StartsWith("Con"))

เมธอด StartsWith() ใช้เพื่อตรวจสอบว่า string เริ่มต้นจากตัวอักษรที่กำหนดหรือไม่

Console.WriteLine(str.Replace("tion", "ted"))
Console.WriteLine(str.Substring(0, 4))

เมธอด Replace() ใช้สำหรับแทนที่ค่าของ string เป็น string ใหม่ ในตัวอย่างเป็นการแทนที่คำว่า "tion" เป็น "ted" และเมธอด Substring() ใช้สำหรับสำหรับตัด string ในตัวอย่างเป็นการตัดจากตำแหน่ง 0 ไปอีก 4 ตำแหน่ง

Console.WriteLine(str.ToUpper)
Console.WriteLine(str.ToLower)

Property ToUpper จะแปลง string ให้เป็นตัวพิมพ์ใหญ่ และ ToUpper ให้เป็นตัวพิมพ์เล็ก

True
True
6
8
Connected
Conn
CONNECTION
connection

และนี่เป็นผลลัพธ์ของการใช้เมธอดจาก string object

ในบทนี้ คุณได้เรียนเรียนรู้เกี่ยวกับ String ในภาษา Visual Basic ทั้งการต่อ string การเปรียบ และการใช้เมธอดจาก string object

บทความนี้เป็นประโยชน์หรือไม่?Yes·No