언어를 불문하고 문자열을 자를일 조차 없는 프로그램은 드물것이다.
다른 언어로는 많이 했었지만 C# 으로는 처음 해보기 때문에.. 다행히 Substring 과 Split 이라는 통용되는 이름의 함수가 C# 에도 존재했다. 사용법도 다른 언어들과 비슷할 것 같으니 한번 사용해보자.
Substring
String 클래스의 Substring() 은 문자열의 원하는 위치, 길이만큼 자르고 싶을 때 사용한다.
2가지 사용법
- Substring(Int32) : 지정된 문자위치에서 문자열의 끝까지 탐색해 반환한다.
- Substring(Int32, Int32) : 지정된 시작위치에서 지정된 길이만큼 탐색해 반환한다.
string test = "This is the test";
Console.WriteLine("{0}", test.SubString(8));
Console.WriteLine("{0}", test.SubString(5, 2));
첫번째 출력문의 index 8 자리 문자는 문자열 안의 the 의 t 이다.
따라서 끝까지인 the test 를 출력한다.
두번째 출력문의 index 5 자리 문자는 is 의 i 이고 그 위치로부터 2글자를 지정했으므로 is 를 출력한다.
출력
the test
is
Split
문자열을 단순히 index 와 길이만으로 자르기 힘든 경우가 있다.
예를 들어서 "," 를 기준으로 자르고 싶다거나 특정 단어를 기준으로 자르고 싶을 때는 String 클래스의 Split() 을 사용한다. Split() 은 char 값이나 배열을 인자로 받고 받은 패턴을 기준으로 자른 문자열들을 string 배열로 반환한다.
string test = "This is the test";
string[] words = test.Split(' ');
foreach (string word in words) {
Console.WriteLine(word);
}
두번째 줄에서 Split() 에 공백을 넣어줬다.
따라서 출력값은 공백을 기준으로 나누어진 string 배열이 될 것이다.
출력
This
is
the
test
IndexOf
String 클래스의 IndexOf() 함수는 9가지로 오버로드 되어있다.
그 중 가장 많이 사용하게 되는 것은 IndexOf(String) 형의 함수이다.
String 값으로 검색하고 싶은 문자열을 받아 해당 문자열의 시작 index 를 반환한다.
string test = "This is the test";
int index = test.IndexOf("test");
Console.WriteLine(Convert.ToString(index));
출력
12
'.NET' 카테고리의 다른 글
[C#] 동기 소켓 프로그래밍 예제 (0) | 2020.01.21 |
---|---|
[C#] 소켓 프로그래밍의 기본 개념 (0) | 2020.01.21 |
[C#] 파일 이동 및 복사, 삭제 (0) | 2020.01.21 |
[C#] 기본적인 파일 쓰기 및 읽기 (0) | 2020.01.20 |
[C#] 디렉토리 존재 유무 확인 및 생성 (0) | 2020.01.20 |