.NET에서 문자열의 문자 트리밍 및 제거
문장을 개별 단어로 구문 분석할 경우 단어의 끝에 빈 공간(공백이라고도 함)이 있는 단어가 생길 수 있습니다. 이 경우에 System.String
클래스에서 trim 메서드 중 하나를 사용하여 문자열에 지정된 위치에서 공백의 수나 다른 문자를 제거할 수 있습니다. 다음 테이블에서는 사용 가능한 trim 메서드에 대해 설명합니다.
메서드 이름 | 기능 |
---|---|
String.Trim | 문자열의 시작과 끝에서 문자 배열에 지정된 문자 또는 공백을 제거합니다. |
String.TrimEnd | 문자열의 끝에서 문자 배열에 지정된 문자를 제거합니다. |
String.TrimStart | 문자열의 시작에서 문자 배열에 지정된 문자를 제거합니다. |
String.Remove | 문자열의 지정한 인덱스 위치에서 지정한 개수의 문자를 제거합니다. |
Trim
다음 예제와 같이 String.Trim 메서드를 사용하여 문자열의 양쪽 끝에서 공백을 쉽게 제거할 수 있습니다.
String^ MyString = " Big ";
Console::WriteLine("Hello{0}World!", MyString);
String^ TrimString = MyString->Trim();
Console::WriteLine("Hello{0}World!", TrimString);
// The example displays the following output:
// Hello Big World!
// HelloBigWorld!
string MyString = " Big ";
Console.WriteLine("Hello{0}World!", MyString);
string TrimString = MyString.Trim();
Console.WriteLine("Hello{0}World!", TrimString);
// The example displays the following output:
// Hello Big World!
// HelloBigWorld!
Dim MyString As String = " Big "
Console.WriteLine("Hello{0}World!", MyString)
Dim TrimString As String = MyString.Trim()
Console.WriteLine("Hello{0}World!", TrimString)
' The example displays the following output:
' Hello Big World!
' HelloBigWorld!
문자열의 시작과 끝의 문자 배열에서 지정하는 문자를 제거할 수 있습니다. 다음 예제에서는 공백 문자, 마침표 또는 별표를 제거합니다.
using System;
public class Example
{
public static void Main()
{
String header = "* A Short String. *";
Console.WriteLine(header);
Console.WriteLine(header.Trim( new Char[] { ' ', '*', '.' } ));
}
}
// The example displays the following output:
// * A Short String. *
// A Short String
Module Example
Public Sub Main()
Dim header As String = "* A Short String. *"
Console.WriteLine(header)
Console.WriteLine(header.Trim({" "c, "*"c, "."c}))
End Sub
End Module
' The example displays the following output:
' * A Short String. *
' A Short String
TrimEnd
String.TrimEnd
메서드는 새 문자열 개체를 생성하여 문자열의 끝에서 문자를 제거합니다. 문자 배열을 이 메서드에 전달하여 제거할 문자를 지정합니다. 문자 배열에서 각 요소의 순서는 trim 작업에 영향을 미치지 않습니다. 배열에 지정되지 않은 문자가 발견되면 trim이 중지됩니다.
다음 예제에서는 TrimEnd
메서드를 사용하여 문자열의 마지막 문자를 제거합니다. 이 예제에서 배열에 있는 문자의 순서를 설명하기 위해 바뀐 'r'
문자 및 'W'
문자의 위치는 중요하지 않습니다. 이 코드는 MyString
의 마지막 단어 및 첫 번째 단어의 일부를 제거합니다.
String^ MyString = "Hello World!";
array<Char>^ MyChar = {'r','o','W','l','d','!',' '};
String^ NewString = MyString->TrimEnd(MyChar);
Console::WriteLine(NewString);
string MyString = "Hello World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"r", "o", "W", "l", "d", "!", " "}
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)
이 코드는 콘솔에 He
를 표시합니다.
다음 예제에서는 TrimEnd
메서드를 사용하여 문자열의 마지막 단어를 제거합니다. 이 코드에서 쉼표는 Hello
라는 단어 뒤에 오는데 잘라낼 문자의 배열에 쉼표가 지정되지 않기 때문에 해당 trim은 쉼표에서 끝나게 됩니다.
String^ MyString = "Hello, World!";
array<Char>^ MyChar = {'r','o','W','l','d','!',' '};
String^ NewString = MyString->TrimEnd(MyChar);
Console::WriteLine(NewString);
string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello, World!"
Dim MyChar() As Char = {"r", "o", "W", "l", "d", "!", " "}
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)
이 코드는 콘솔에 Hello,
를 표시합니다.
TrimStart
String.TrimStart
메서드는 기존 문자열 개체의 시작 부분에서 문자를 제거하여 새 문자열을 만든다는 점을 제외하고 String.TrimEnd
메서드와 유사합니다. 문자 배열을 TrimStart
메서드에 전달하여 제거할 문자를 지정합니다. TrimEnd
메서드와 마찬가지로 문자 배열에서 각 요소의 순서는 트리밍 작업에 영향을 미치지 않습니다. 배열에 지정되지 않은 문자가 발견되면 trim이 중지됩니다.
다음 예제에서는 문자열의 첫 번째 단어를 제거합니다. 이 예제에서 배열에 있는 문자의 순서를 설명하기 위해 바뀐 'l'
문자 및 'H'
문자의 위치는 중요하지 않습니다.
String^ MyString = "Hello World!";
array<Char>^ MyChar = {'e', 'H','l','o',' ' };
String^ NewString = MyString->TrimStart(MyChar);
Console::WriteLine(NewString);
string MyString = "Hello World!";
char[] MyChar = {'e', 'H','l','o',' ' };
string NewString = MyString.TrimStart(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"e", "H", "l", "o", " "}
Dim NewString As String = MyString.TrimStart(MyChar)
Console.WriteLine(NewString)
이 코드는 콘솔에 World!
를 표시합니다.
제거
String.Remove 메서드는 기존 문자열의 지정된 위치에서 시작하는 지정된 수의 문자를 제거합니다. 이 메서드에서는 0 기반 인덱스를 가정합니다.
다음 예제에서는 문자열의 0 기반 인덱스 중 5번째 위치에서 시작하는 문자열에서 10개의 문자를 제거합니다.
String^ MyString = "Hello Beautiful World!";
Console::WriteLine(MyString->Remove(5,10));
// The example displays the following output:
// Hello World!
string MyString = "Hello Beautiful World!";
Console.WriteLine(MyString.Remove(5,10));
// The example displays the following output:
// Hello World!
Dim MyString As String = "Hello Beautiful World!"
Console.WriteLine(MyString.Remove(5, 10))
' The example displays the following output:
' Hello World!
Replace
String.Replace(String, String) 메서드를 호출하고 빈 문자열(String.Empty)을 대체로 지정하여 문자열에서 지정된 문자나 부분 문자열을 제거할 수도 있습니다. 다음 예제에서는 하나의 문자열에서 모든 쉼표를 제거합니다.
using System;
public class Example
{
public static void Main()
{
String phrase = "a cold, dark night";
Console.WriteLine("Before: {0}", phrase);
phrase = phrase.Replace(",", "");
Console.WriteLine("After: {0}", phrase);
}
}
// The example displays the following output:
// Before: a cold, dark night
// After: a cold dark night
Module Example
Public Sub Main()
Dim phrase As String = "a cold, dark night"
Console.WriteLine("Before: {0}", phrase)
phrase = phrase.Replace(",", "")
Console.WriteLine("After: {0}", phrase)
End Sub
End Module
' The example displays the following output:
' Before: a cold, dark night
' After: a cold dark night
참조
.NET