Chapter 6. 문자열(string) in C#
카테고리: C Sharp
태그: C Sharp Programming
인프런에 있는 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" 출력
- 표준 숫자 서식 문자열
C
,D
,E
,F
등등..
- 사용자 지정 숫자 형식 문자열
0
,#
,.
,
%
등등..
👱♀️ 기타
IsNullOrEmpty
string
의 static 함수로, 인수로 넘긴 문자열이 null이거나 비어있으면 true 리턴!
string name = null;
string.IsNullOrEmpty(name); // true 리턴
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기