다음을 통해 공유


Visual Basic의 문자열 기본

업데이트: 2007년 11월

String 데이터 형식은 각각 Char 데이터 형식의 인스턴스를 나타내는 일련의 문자를 나타냅니다. 이 항목에서는 Visual Basic의 기본 문자열 개념을 소개합니다.

문자열 변수

문자열 인스턴스에 일련의 문자를 나타내는 리터럴 값을 할당할 수 있습니다. 예를 들면 다음과 같습니다.

Dim MyString As String
MyString = "This is an example of the String data type"

또한 String 변수는 문자열로 계산되는 모든 식을 받아들일 수도 있습니다. 이에 대한 예제는 다음과 같습니다.

Dim OneString As String
Dim TwoString As String
OneString = "one, two, three, four, five"
' Evaluates to "two".
TwoString = OneString.Substring(5, 3)
OneString = "1"
' Evaluates to "11".
TwoString = OneString & "1"

String 변수에 할당된 리터럴은 모두 따옴표("")로 묶어야 합니다. 즉, 문자열 내의 따옴표는 따옴표로 나타낼 수 없습니다. 예를 들어, 다음 코드는 컴파일러 오류를 발생시킵니다.

Dim myString As String

' This line would cause an error.
' myString = "He said, "Look at this example!""

이 코드는 컴파일러가 두 번째 따옴표 다음에 오는 문자열은 그대로 두고 나머지 문자열을 코드로 인식하기 때문에 오류가 발생합니다. 이 문제를 해결하기 위해 Visual Basic에서는 문자열 리터럴의 두 따옴표를 문자열의 한 개 따옴표로 인식합니다. 다음 예제에서는 문자열에 따옴표를 포함하는 올바른 방법을 보여 줍니다.

' The value of myString is: He said, "Look at this example!"
myString = "He said, ""Look at this example!"""

위의 예제에서 Look 단어 앞에 있는 두 따옴표는 문자열에서 한 개 따옴표가 됩니다. 줄의 끝에 있는 세 개의 따옴표는 문자열의 한 개 따옴표와 문자열 종결 문자를 나타냅니다.

문자열 안의 문자

문자열은 일련의 Char 값으로 간주할 수 있으며 String 형식에는 배열에서 허용하는 조작과 유사한 여러 가지 조작을 문자열에 수행할 수 있는 기본 제공 함수가 포함되어 있습니다. .NET Framework의 모든 배열처럼 문자열도 0부터 시작하는 배열입니다. Chars 속성을 사용하여 문자열에서 특정 문자를 참조할 수도 있으며, 이 속성은 문자열에서 해당 문자가 나타나는 위치를 기준으로 문자에 액세스할 수 있는 방법을 제공합니다. 예를 들면 다음과 같습니다.

Dim myString As String = "ABCDE"
Dim myChar As Char
' The value of myChar is "C".
myChar = myString.Chars(3)

위의 예제에서 문자열의 Chars 속성은 문자열의 넷째 문자인 D를 반환하고 이를 myChar에 할당합니다. 또한 Length 속성을 사용하여 특정 문자열의 길이를 가져올 수도 있습니다. 문자열에서 여러 배열 형식을 조작해야 할 경우 문자열의 ToCharArray 함수를 사용하여 Char 인스턴스의 배열로 문자열을 변환할 수 있습니다. 예를 들면 다음과 같습니다.

Dim myString As String = "abcdefghijklmnop"
Dim myArray As Char() = myString.ToCharArray

이제 myArray 변수는 각각 myString의 문자를 나타내는 Char 값 배열을 포함합니다.

문자열의 불변성

문자열을 변경할 수 없다는 것은 문자열이 만들어진 후에는 해당 값을 변경할 수 없음을 의미합니다. 그러나 이렇게 해도 두 개 이상의 값을 문자열 변수에 지정할 수 있습니다. 다음 예제를 참조하십시오.

Dim myString As String = "This string is immutable"
myString = "Or is it?"

여기서는 문자열 변수를 만들고, 값을 제공하고, 해당 값을 변경합니다.

다시 말해서 첫째 줄에서 String 형식의 인스턴스를 만들고 This string is immutable 값을 할당합니다. 둘째 줄에서 새 인스턴스를 만들고 Or is it? 값을 할당하면 문자열 변수가 첫째 인스턴스에 대한 해당 참조를 무시하고 새 인스턴스에 대한 참조를 저장합니다.

다른 내장 데이터 형식과 달리 String은 참조 형식입니다. 참조 형식의 변수가 함수 또는 서브루틴의 인수로 전달되는 경우 데이터가 저장된 메모리 주소에 대한 참조가 문자열의 실제 값 대신 전달됩니다. 그렇다면 위의 예제의 경우 변수의 이름은 똑같이 유지되지만 이 변수는 새 값을 보유하는 String 클래스의 다른 새 인스턴스를 가리킵니다.

참고 항목

참조

String 데이터 형식(Visual Basic)

Char 데이터 형식(Visual Basic)

기타 리소스

Visual Basic의 문자열 소개

기본적인 문자열 작업