다음을 통해 공유


문자열 데이터 형식(Visual Basic)

0에서 65535까지의 값 범위의 부호 없는 16비트(2 바이트) 코드 포인트 시퀀스를 보유합니다. 각 코드 포인트 또는 문자 코드는 단일 유니코드 문자를 나타냅니다. 문자열은 0~약 20억(2 ^ 31) 유니코드 문자를 포함할 수 있습니다.

비고

데이터 형식을 String 사용하여 요소 배열의 Char()Char 배열 관리 오버헤드 없이 여러 문자를 보유합니다.

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

유니코드 문자

유니코드의 처음 128개 코드 포인트(0~127)는 표준 미국 키보드의 문자 및 기호에 해당합니다. 이러한 처음 128개의 코드 포인트는 ASCII 문자 집합이 정의하는 것과 동일합니다. 두 번째 128개의 코드 포인트(128~255)는 라틴 기반 알파벳 문자, 강조, 통화 기호 및 분수와 같은 특수 문자를 나타냅니다. 유니코드는 다양한 기호에 나머지 코드 포인트(256-65535)를 사용합니다. 여기에는 전 세계 텍스트 문자, 발음 문자, 수학 및 기술 기호가 포함됩니다.

변수의 개별 문자 StringIsPunctuation 같은 IsDigit 메서드를 사용하여 유니코드 분류를 확인할 수 있습니다.

형식 요구 사항

따옴표(" ")에 리터럴을 String 묶어야 합니다. 문자열의 문자 중 하나로 따옴표를 포함해야 하는 경우 두 개의 연속적인 따옴표("")를 사용합니다. 다음 예제에서는 이를 보여 줍니다.

Dim j As String = "Joe said ""Hello"" to me."  
Dim h As String = "Hello"  
' The following messages all display the same thing:  
' "Joe said "Hello" to me."  
MsgBox(j)  
MsgBox("Joe said " & """" & h & """" & " to me.")  
MsgBox("Joe said """ & h & """ to me.")  

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

문자열 조작

변수에 문자열을 String 할당하면 해당 문자열은 변경할 수 없으므로 길이나 내용을 변경할 수 없습니다. 어떤 방식으로든 문자열을 변경하면 Visual Basic에서 새 문자열을 만들고 이전 문자열을 중단합니다. 그런 다음 변수는 String 새 문자열을 가리킵니다.

다양한 문자열 함수를 사용하여 변수의 String 내용을 조작할 수 있습니다. 다음 예제에서는 함수를 보여 줍니다 Left .

Dim S As String = "Database"  
' The following statement sets S to a new string containing "Data".  
S = Microsoft.VisualBasic.Left(S, 4)  

다른 구성 요소에서 만든 문자열은 선행 또는 후행 공백으로 채워질 수 있습니다. 이러한 문자열을 수신하는 경우 , LTrimRTrim 함수를 사용하여 Trim이러한 공백을 제거할 수 있습니다.

문자열 조작에 대한 자세한 내용은 문자열을 참조 하세요.

프로그래밍 팁

  • 음수. 보유 String 하는 문자는 부호가 없으며 음수 값을 나타낼 수 없습니다. 어떤 경우에도 숫자 값을 보유하기 위해 String를 사용해서는 안 됩니다.

  • Interop 고려 사항. .NET Framework용으로 작성되지 않은 구성 요소(예: Automation 또는 COM 개체)와 상호 작용하는 경우 문자열 문자는 다른 환경에서 다른 데이터 너비(8비트)를 가집니다. 이러한 구성 요소에 8비트 문자의 문자열 인수를 전달하는 경우 새 Visual Basic 코드 대신 String 요소 배열 ByteByte()선언합니다.

  • 형식 문자. 식별자 형식 문자를 $ 식별자에 추가하면 데이터 형식으로 강제 적용 String 됩니다. String 에 리터럴 형식 문자가 없습니다. 그러나 컴파일러는 따옴표()로 묶인 리터럴을" " .로 String처리합니다.

  • 프레임워크 형식. .NET Framework의 해당 형식은 클래스입니다 System.String .

참고하십시오