VB.NET 2008/VB - 문자열

문자열 - 문자열 데이터 형식과 문자열 처리

본클라쓰 2011. 4. 8. 09:27

 

0에서 255까지의 값 범위에 있는 부호 없는 16비트(2바이트) 코드 포인트의 시퀀스를 저장합니다. 각 코드 포인트 또는 문자 코드는 단일 유니코드 문자를 나타냅니다. String의 길이는 유니코드 문자로 0개에서 약 20억개까지 가능합니다.

 

문자열은 문자, 숫자, 특수 문자 및 공백 같은 일련의 텍스트 문자입니다. 문자열은 "The quick brown fox jumps over the lazy dog" 같이 사람이 읽을 수 있는 구 또는 문장이나 "@$@$#123" 같이 분명하게 인식할 수 없는 글자 조합일 수 있습니다.

 

String 변수 역시 다음과 같이 먼저 변수를 선언하고 값을 할당하여 다른 변수와 마찬가지 방식으로 만듭니다.

 

Dim aString As String = "This is a String"

 

 

String의 기본 값은 Nothing(null 참조) 입니다. 이 값은 빈 문자열(값 "")과 다릅니다.

 

String 리터럴은 따옴표("")로 묶어야 합니다. 따옴표를 문자열의 문자 중 하나로 사용하려면 두 개의 따옴표를 연속해서 사용해야 합니다.

 

 

Dim j As String = "Joe said ""Hello"" to me."

' 위 j 문자열의 출력값은 다음과 같습니다.

' Joe said "Hello" to me

 

문자열의 따옴표를 나타내는 연속하는 따옴표는 String 리터럴을 시작하고 끝내는 따옴표와 별개입니다.

 

또한 등호 문자(=)를 사용하여 한 String 변수를 다른 String 변수로 할당할 수 있습니다.

 

Dim aString As String = "This is a String"

Dim bString As String = aString

 

 

다음과 같이 앰퍼샌드(&) 문자를 사용하면 둘 이상의 문자열을 순차적으로 새 문자열에 조합할 수 있습니다. 이를 연결이라고 합니다.

 

Dim aString As String = "using string"

Dim bString As String = "variables"

Dim cString As String = aString & bString

 

 

 

 

 

 

문자열 안의 문자

 

 

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

 

 

 

Dim myString As String = "ABCDE"

Dim myChar As Char

myChar = myString.Chars(3)

' myChar에는 "D" 값을 가집니다.

 

 

 

문자열의 조작

 

String 변수에 문자열을 할당하면 해당 문자열은 변경할 수 없으므로, 길이 또는 내용을 변경할 수 없습니다. 어떤 방법으로든 문자열을 변경하면 Visual Basic에 새 문자열이 만들어지고 이전 문자열은 사용되지 않습니다. String 변수는 새 문자열을 가리킵니다.

 

 

1) Left 함수

 

Dim s As String = "Database"

s = Microsoft.VisualBasic.Left(s, 4)

' s의 값은 "Data"가 됩니다.

 

 

2) 공백의 제거

 

문자열에 선행 공백 또는 후행 공백이 채워질 수 있습니다. 그런 문자열이 표시되면 Trim, LTrim 및 RTrim 함수를 사용하여 해당 공백을 제거할 수 있습니다.

 

 

3) Mid 함수

 

Mid 함수는 String 에 대해 직접 연산을 수행하여 값을 String에 할당합니다.

 

Dim aString As String = "SomeString"

Dim bString As String

bString = Mid(aString, 3, 3)

' bString에는 "meS" 값이 지정됩니다.

 

 

 

문자열 배열에서 문자열 검색

 

Contains 메서드는 문자열이 지정된 하위 문자열을 포함하는지 여부를 나타냅니다.

 

IndexOf 메서드는 해당 문자열이 처음 나타나는 곳을 찾아 첫 번째 문자의 위치를 보고합니다. 인덱스는 0부터 시작합니다. 즉, 문자열에서 첫 번째 문자의 인덱스는 0입니다. IndexOf가 부분 문자열을 찾지 못하면 -1을 반환합니다.

 

Dim aString As String = "ABCDEFG"
Dim findThisString As String =
"CD"

 

Console.WriteLine(aString.Contains(findThisString))
Console.WriteLine(aString.IndexOf(findThisString))

 

' 위 코드의 결과는 다음과 같습니다.

' True

' 2

 

 

 

문자열의 일부 제거

 

Replace 함수를 사용하여 모든 하위 문자열을 빈 문자열로 바꿉니다. 이를 실행하면 하위 문자열이 제거된 새 문자열이 생성됩니다.

 

Dim withParts As String = "Books and Chapters and Pages"

Dim withoutParts As String = Replace(withParts, "and", " ")