Notice
Recent Posts
Recent Comments
Link
bdfgdfg
[C#] 문자열 다루기 본문
반응형
C#에서는 편리한 기능들을 많이 제공한다.
우선 문자열(string 클래스)에서 찾기(Find)기능을 하는 메소드를 본다.
문자열 찾기
먼저 IndexOf 메소드.
-> 현재 문자열 내에서 찾고자 하는 문자 또는 문자열의 위치를 찾는다.
-> 문자열의 경우 해당 문자열의 첫번째 문자의 위치를 기준으로 위치를 반환한다. ex) Hello World! -> IndexOf("World!") -> 6번째 위치 (0번부터 시작)
1
2
3
4
5
6
7
8
9
10
11
|
class Program
{
static void Main(string[] args)
{
string test = "Hello World!";
//IndexOf
Console.WriteLine("IndexOf '!' : {0}",test.IndexOf('!'));
Console.WriteLine("IndexOf World! : {0}",test.IndexOf("World!")); // 문자열도 가능.
}
}
|
cs |
두번째로 StartsWith 메소드.
현재 문자열이 메소드에 넘겨준 문자열로 시작하는지를 확인.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Program
{
static void Main(string[] args)
{
string test = "Hello World!";
//IndexOf
Console.WriteLine("StartsWith Hello : {0}",test.StartsWith("Hello"));
Console.WriteLine("StartsWith World! : {0}", test.StartsWith("World!"));
}
}
|
cs |
-> 이와 비슷한 함수인 EndsWith도 있다. 이름 그대로 메소드에 넘겨준 문자열이 현재 문자열의 끝을 나타내는 문자열인지를 확인.
Contains 메소드도 존재.
이름부터 안에 포함되어있는지 확인.
-> 즉 현재 문자열에 메소드에 넘겨준 문자열이 포함되어 있는지 확인.
1
2
3
4
5
6
7
8
9
10
11
12
|
class Program
{
static void Main(string[] args)
{
string test = "Hello World!";
Console.WriteLine("Contains Hello : {0}", test.Contains("Hello"));
Console.WriteLine("Contains MaMa : {0}", test.Contains("MaMa")); // 문자열도 가능.
}
}
|
cs |
마지막으로 Replace함수.
현재 문자열에 메소드로 두 개의 문자열(혹은 문자들)들을 넘겨 마지막 인자로 넘긴 문자열로 바뀐 문자열을 반환.
-> 원본은 바뀌지 않음.
1
2
3
4
5
6
7
8
9
10
11
12
|
class Program
{
static void Main(string[] args)
{
string test = "Hello World!";
string test2 = test.Replace("World!", "C#!"); // 문자열을 반환.
Console.WriteLine(test);
Console.WriteLine(test2);
}
}
|
cs |
문자열 변형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
class Program
{
static void Main(string[] args)
{
string test = "Hello World!";
// 문자열의 모든 대문자를 소문자로 변환한 문자열 반환
Console.WriteLine(test.ToLower());
// 문자열의 모든 소문자를 대문자로 변환한 문자열 반환
Console.WriteLine(test.ToLower());
// 문자열의 지정된 위치에 인자로 넘긴 문자열이 삽입된 문자열 반환
Console.WriteLine(test.Insert(5," My "));
// 문자열의 지정한 위치로부터 인자로 넘긴 수만큼의 문자가 삭제된 문자열 반환
Console.WriteLine(test.Remove(5));
// 현재 문자열의 앞/뒤에 있는 공백을 삭제한 문자열 반환.
Console.WriteLine(" ABCD ".Trim());
}
}
|
cs |
문자열 분할
Split : 현재 문자열을 인자로 넘긴 문자를 기준으로 분리한 문자열의 '배열'을 반환.
SubString : 현재 문자열의 인자로 넘긴 위치로부터 지정된 수만큼의 문자로 이루어진 문자열을 반환.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
class Program
{
static void Main(string[] args)
{
string test = "Hello World!";
// 띄어쓰기를 기준으로 분할
string[] test2 = test.Split(' ');
foreach (string splitString in test2)
{
Console.WriteLine(splitString);
}
Console.WriteLine();
string test3 = test.Substring(0,5);
Console.WriteLine(test3);
string test4 = test.Substring(6);
Console.WriteLine(test4);
}
}
|
cs |
반응형
'게임프로그래밍 > C#' 카테고리의 다른 글
[C#] 부모 자식 사이의 형 변환 (is,as) (0) | 2022.04.18 |
---|---|
[C#] ref,out 키워드 (0) | 2022.04.18 |
[C#] C#의 데이터 형식 (0) | 2022.04.17 |
[C#] CLR(Common Language Runtime) (0) | 2022.04.17 |
Reflection / Attribute (0) | 2021.08.06 |
Comments