string 클래스는 문자열과 관련된 수많은 메소드들을 가지고 있습니다. 이들의 목적은 문자열의 내용을 검색하거나 조작하기 위함입니다. 이번 포스트에서는 string의 메소드들을 정리해보았습니다. 단순히 나열하기 보다는 무엇을 하고 싶다는 것을 기준으로 필요할 때 찾아 볼 수 있도록 하였습니다.
원하는 작업 | string이 제공하는 필드 또는 메소드 | 사용 예 | 출력 결과 |
알파벳 문자들을 대문자로 바꾼다. | string ToUpper() | string str = "Super Star"; Console.WriteLine(str); | SUPER STAR |
알파벳 문자들을 소문자로 바꾼다. | string ToLower() | string str = "Super Star"; Console.WriteLine(str); | super star |
문자열의 일부를 제거한다. | string Remove(int startIndex) | string str = "Super Star"; str = str.Remove(5); Console.WriteLine(str); | Super |
〃 | string Remove( int startIndex, int count) | string str = "Super Star"; str = str.Remove(5, 3); Console.WriteLine(str); | Superar |
문자열의 양끝에 있는 공백을 제거한다. | string Trim() | string str = " Super Star "; str = str.Trim(); Console.WriteLine(str); | Super Star |
문자열 앞부분의 공백들을 제거한다. | string TrimStart() | string str = " Super Star "; str = str.TrimStart(); Console.WriteLine(str); | Super Star (오른쪽 끝에 공백은 존재) |
문자열의 일부를 구한다. | string Substring(int startIndex) | string str = "Super Star"; str = str.Substring(6); Console.WriteLine(str); | Star |
〃 | string Substring( int startIndex, int length) | string str = "Super Star"; str = str.Substring(2, 3); Console.WriteLine(str); | per |
문자열을 삽입한다. | string Insert( int startIndex, string value) | string str = "Super Star"; str = str.Insert(6, "Real "); Console.WriteLine(str); | Super Real Star |
찾고자 하는 문자열이 있는지 검색한다. | bool Contains(string value) | string str = "Super Star of the World"; bool isThereWord = str.Contains("Star"); Console.WriteLine(isThereWord); | True |
문자열의 길이를 알고 싶다. | int Length | string str = "Super Star"; Console.WriteLine(str.Length); | 10 |
특정 문자를 기준으로 문자열들을 분리하고 싶다. | string[] Split(params char[] separator) | Char[] delimiters = { ' ', ',', '.' };
Console.WriteLine("The words split:"); | The words split: There
|
〃 | string[] Split( char[] separator, int count) | Char[] delimiters = { ' ', ',', '.' };
Console.WriteLine("The words split:"); | The words split:
|
〃 | string[] Split( char[] separator, StringSplitOptions options) | Char[] delimiters = { ' ', ',', '.' };
Console.WriteLine("The words split:"); | The words split: |
〃 | string[] Split( string[] separator, StringSplitOptions options) | string[] delimiters = {"is", "are", "and", " " , ".", "," };
Console.WriteLine("The words split:"); | The words split: |
〃 | string[] Split( char[] separator, int count, StringSplitOptions options) | Char[] delimiters = { ' ', ',', '.' };
Console.WriteLine("The words split:"); | The words split: There |
〃 | string[] Split( string[] separator, int count, StringSplitOptions options) | string[] delimiters = {"is", "are", "and", " " , ".", "," };
Console.WriteLine("The words split:"); | The words split: |
문자열을 char형 배열로 바꾸고 싶다. | char[] ToCharArray() | string str = "Super Star"; Console.WriteLine(chars); | Super Star |
char형 배열을 문자열로 바꾸고 싶다. | string(char[] value) (string의 생성자 중 하나) | char[] chars = new char[] {'S', 'u', 'p', 'e', 'r', ' ', 'S', 't', 'a', 'r'}; string str = new string(chars); Console.WriteLine(chars); | Super Star |
기존 문자열의 왼쪽에 공백을 채워 새로운 문자열을 만들고 싶다. | string PadLeft(int totalWidth) | string str = "Super Star"; str = str.PadLeft(15); Console.WriteLine(str); | Super Star |
기존 문자열의 오른쪽에 공백을 채워 새로운 문자열을 만들고 싶다. | string PadRight(int totalWidth) | string str = "Super Star"; str = str.PadRight(15); Console.WriteLine(str); | Super Star (참고: Star의 오른쪽에 공백이 5개) |
문자열의 왼쪽에 특정 문자로 채우고 싶다. | string PadLeft( int totalWidth, char paddingChar) | string str = "Super Star"; | .....Super Star |
문자열의 오른쪽에 특정 문자로 채우고 싶다. | string PadRight( int totalWidth, char paddingChar) | string str = "Super Star"; str = str.PadRight(15, '.'); Console.WriteLine(str); | Super Star..... |
문자열의 일부를 다른 것으로 대체하고 싶다. | string Replace( char oldChar, char newChar) | string phoneNumber = "010-2345-6789"; phoneNumber = phoneNumber.Replace('-', ' '); Console.WriteLine(phoneNumber); | 010 2345 6789 |
〃 | string Replace( string oldValue, string newValue) | string phoneNumber = "010-2345-6789"; phoneNumber = phoneNumber.Replace("010", "070"); Console.WriteLine(phoneNumber); | 070-2345-6789 |
검색하고자 하는 내용이 문자열에 있다면, 최초의 위치가 어디인지 알고 싶다. | int IndexOf(char value) | string sentence = "What a wonderful world!"; int index = sentence.IndexOf('a'); Console.WriteLine(index); | 2 |
〃 | int IndexOf(string value) | string sentence = "What a wonderful world!"; int index = sentence.IndexOf("won"); Console.WriteLine(index); | 7 |
〃 | int IndexOf( char value, int startIndex) | string sentence = "What a wonderful world!"; int index = sentence.IndexOf('a', 3); Console.WriteLine(index); | 5 |
〃 | int IndexOf( string value, int startIndex) | string sentence = "What a wonderful world!"; int index = sentence.IndexOf("wo", 10); Console.WriteLine(index); | 17 |
〃 | int IndexOf( char value, int startIndex, int count) | string sentence = "What a wonderful world!"; | 5 |
〃 | int IndexOf( string value, int startIndex, int count) | string sentence = "One little, two little, three little indians"; | 16 |
두 문자열의 내용이 같은지 알고 싶다. 다를 경우 사전 순서로 어떤 것이 먼저인지 알고 싶다. | int compareTo(string strB) | string name = "Park"; | 1 0 -1 |
[출처] [Visual C#] 문자열의 내용을 검색하거나 조작하는 방법|작성자 도모네
'C#' 카테고리의 다른 글
c# Window Form Application Idle 루프문 사용자설정 (0) | 2013.04.30 |
---|---|
C# WindowForm Process종료 (0) | 2013.04.30 |
C# thread에 파라미터 전달하기 (0) | 2013.04.24 |
C#으로 이미지파일을 DB에 넣는방법 (0) | 2013.04.24 |
다중 쓰레드 (0) | 2013.04.24 |