C#,Delphi,Oracle,MSSQL 개발자블로그
[Visual C#] 문자열의 내용을 검색하거나 조작하는 방법 본문
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#] 문자열의 내용을 검색하거나 조작하는 방법|작성자 도모네
'Programming > C#' 카테고리의 다른 글
[C#,ADO.NET] 'MSDAORA' 공급자는 로컬 컴퓨터에 등록할 수 없습니다(윈도우64비트,ORacle11g) (0) | 2017.07.13 |
---|---|
C# 유저컨트롤간 상속받기/유저컨트롤끼리 상속받기. (0) | 2017.06.22 |
C# 폼 로드시 텍스트박스에 포커스 가게 하기. (2) | 2017.06.22 |
C# 리치 텍스트 박스에 rtf파일 불러오기.리소스사용/파일경로사용.(리치텍스트박스에 색깔입히기.) (0) | 2017.06.16 |
C# 메모장 프로그램 (0) | 2017.06.16 |