Chapter 6. 문자열(string) in C#

Date:     Updated:

카테고리:

태그:

인프런에 있는 Rookiss님의 강의 Part1: C# 기초 프로그래밍 입문 를 듣고 정리한 필기입니다. 😀

👩🏼 부분 문자열 찾기

Contains

string name = "Harry Potter";

if(name.Contains("Harry"))
    Console.WriteLine("True");
💎출력💎

True

Conains(string) 👉 호출한 문자열에 인수로 넘긴 문자열이 부분 문자열로 존재한다면 True, 아니면 False 리턴.

인수로 넘긴 “Harry”는 name 문자열에 부분 문자열로 존재하기 때문에 True 리턴.


IndexOf

string name = "Harry Potter";

Console.WriteLine(name.IndexOf('P'));
Console.WriteLine(name.IndexOf('Z'));
💎출력💎

6
-1

IndexOf(char) 👉 호출한 문자열에 인수로 넘긴 문자가 부분 문자열로 존재 한다면, 해당 문자가 있는 위치인 인덱스를 리턴하고 존재 하지 않는다면 -1를 리턴한다.


👩🏼 변형

덧붙이기 : + 연산자

string name = "Harry Potter";
name = name + " Junior";

Console.WriteLine(name);
💎출력💎

Harry Potter Junior


소문자, 대문자로 변형 : ToLower, ToUpper

string name = "Harry Potter";

Console.WriteLine(name.ToLower());
Console.WriteLine(name.ToUpper());
💎출력💎

harry potter
HARRY POTTER


특정 문자 바꾸기 : Replace

string name = "Harry Potter";
string newName = name.Replace('r', 'l');
Console.WriteLine(newName);
💎출력💎

hally pottel

Replace(char, char) 👉 호출한 문자열에 첫 번째 인수 문자에 해당하는 부분들을 전부 두 번째 인수로 바꾼다.

name 문자열의 모든 r부분이 l로 바뀌었다.


👩🏼 분할

Split

string name = "Harry Potter";
string[] names = name.Split(new char[] { ' ' }); // 배열의 원소인 ' ' 공백 문자를 기준으로 분할한 문자열들을 string [] 배열로 리턴한다.
            
for(int i = 0; i < names.Length; i++)
    Console.WriteLine(names[i]);

💎출력💎

Harry
Potter

Split 👉 인수로 넘긴 구분자를 기준으로, 호출한 문자열을 분할하여 이를 string [] 배열로 리턴한다.

  • Split(char) : 인수로 넘긴 char 문자를 기준으로 구분하고 분할하여 string [] 배열로 리턴한다.
    string name = "Harry Potter";
    string[] names = name.Split(' ');
                
    for(int i = 0; i < names.Length; i++)
        Console.WriteLine(names[i]);
    
    💎출력💎
    
    Harry
    Potter
    
  • Split(char 배열) : 인수로 넘긴 char 배열의 원소들을 기준으로 구분하고 분할하여 string [] 배열로 리턴한다.
    string text = "one\ttwo three:four,five six seven";
    string[] words = text.Split(new char[] { ' ', ',', '.', ':', '\t' });
    
    for(int i = 0; i < words.Length; i++)
        Console.WriteLine(words[i]);
    
    💎출력💎
      
    one
    two
    three
    four
    five
    six
    seven
    
  • Split(string) : 인수로 넘긴 string 문자열을 기준으로 구분하고 분할하여 string [] 배열로 리턴한다.
      string text = "Harry Potter";
    
      string[] words = text.Split("rry");
    
      for (int i = 0; i < words.Length; i++)
          Console.WriteLine(words[i]);
    
    💎출력💎
    
    Ha
     Potter
    
  • Split(string 배열, StringSplitOptions) : 인수로 넘긴 string 문자열 배열의 원소들을 기준으로 구분하고 구분하여 string [] 배열로 리턴한다. ✔ 단, string 배열을 인수로 넘길 때는 두번째 인수가 꼭 필요하다. 두 번째 인수를 포함하지 않으면 컴파일 에러가 발생한다.
    • 두 번째 인수
      • StringSplitOptions.None
        • 리턴 값에 빈 문자열이 포함됨
      • StringSplitOptions.RemoveEmptyEntries
        • 리턴 값에 빈 문자열이 포함되지 않음
      string text = "one<<two......three<four";
      string[] words = text.Split(new string[] { "<<", "..." }, System.StringSplitOptions.RemoveEmptyEntries);
    
      for (int i = 0; i < words.Length; i++)
          Console.WriteLine(words[i]);
    
    💎출력💎
    
    one
    two
    three<four
    


Substring

string name = "Harry Potter";
Console.WriteLine(name.Substring(5));
💎출력💎

 Potter

Substring(int) 👉 호출한 문자열의 인수에 해당하는 인덱스부터 문자열 끝까지를 리턴한다.

string name = "Harry Potter";
Console.WriteLine(name.Substring(5, 4));
💎출력💎

 Pott

Substring(int, int) 👉 호출한 문자열의 첫 번째 인수에 해당하는 인덱스부터 두 번째 인수 길이만큼 리턴한다.


👱‍♀️ 문자열 포맷

string.Format

C# 에서는 형식 문자열을 간단하게 인수의 순서에 따라 {0}, {1}, {2}… 으로 지정해주면 된다.

  • 첫 번째 인수가 {0}이 되고 두 번째 인수가 {1}이 되고 이런 식!
int a = 10;
int b = 5;
string str = string.Format("{0} + {1} = {2}", a, b, a + b);
Console.WriteLine(str);  // "10 + 5 = 15" 출력


👱‍♀️ 기타

IsNullOrEmpty

string의 static 함수로, 인수로 넘긴 문자열이 null이거나 비어있으면 true 리턴!

string name = null;
string.IsNullOrEmpty(name); // true 리턴


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

C Sharp 카테고리 내 다른 글 보러가기

댓글 남기기