내일배움캠프 11일차 TIL <C# 문자열> 마무리 04/21

정광훈(Unity_9기)·2025년 4월 21일

TIL (Today I Learned)

목록 보기
23/110
post-thumbnail

문자열 복습

내가 실제로 많이 사용할 것 같은 것만 추림

1. 보간 문자열 (Interpolaon)

문자열 안에 변수를 넣는 방식
(이건 자주 사용하니 자세한 설명은 생략한다)

Console.WriteLine($"이름: {name}, 나이: {age}");

3. Trim / ToLower / ToUpper

공백 제거, 대소문자 처리

ex)

  • 로그인 시 공백 / 대소문자 처리 입력 비교
  • DB 검색어 정제
string testString = " Hello ";

// testString기준으로 왼쪽부터 오른쪽 순으로 적용
Console.WriteLine(testString.ToLower().Trim()); 

// 대문자로 변환 후 공백 제거, ToUpper()와 Trim() 따로 써도 된다.
Console.WriteLine(testString.ToUpper().Trim()); 

출력
hello
HELLO

4. Contains

해당 문자 포함 여부 확인

ex)

  • 검색 기능에서 키워드 포함 여부 확인
  • URL 또는 문자열 필터링
string testString = "오늘 점심은 돈까스입니다.";

//"돈"만 입력해도 True로 나옴
Console.WriteLine(testString.Contains("돈까스"));

출력
True

5. IndexOf

특정 문자의 위치 찾기

ex)
이메일에서 아이디 / 도메인 분리
파일 확장자 구분

string testString = "asdf123@gmail.com";
int atIndex = testString.IndexOf("@"); // "@" 만 추출
string id = testString.Substring(0, atIndex); // 0번째부터 "@"까지 추출
// "a" 왼쪽 부분 커서부터 0

Console.WriteLine(id);

출력
asdf123

6. Split

문자열 나누기

ex)

  • CSV나 다중 항목 구분 처리
  • 장바구니 항목 분리
// , 포도 일 경우포도 앞 공백까지 배열에 포함
string testString = "사과,바나나,포도"; 
string[] fruits = testString.Split(','); // ',' 기준으로 배열을 나눔

foreach (string fruit in fruits) // 배열 순차대로 출력
{
	Console.WriteLine(fruit);
}

출력
사과
바나나
포도

CSV: Comma-Separated Values의 약자로,
쉼표로 구분된 값을 의미하는 단순한 텍스트 데이터 형식

CSV 파일 예시)

이름,나이,도시
앨리스,30,뉴욕
밥,25,런던
찰리,35,서울


7. Substring

문자열을 부분만 추출

ex)
전화번호 / 이름 / ID 등 일부 문자열만 추출

string testString = "가나다(010-1234-5678)";

// 커서 기준으로 0번째부터 3번째 글자까지
string name = testString.Substring(0, 3); 

Console.WriteLine(name);

출력
가나다

8. StringBuilder

많은 문자열을 효율적으로 조립

ex)

  • 수천 줄 이상의 로그 출력 조합
  • 반복문 내 문자열 누적
// 안좋은 방법, 출력하는데 오래 걸림
string result = "";

for (int i = 0; i < 50000; i++)
{
result += "로그 메시지 " + i + "\n";
}

Console.WriteLine(result);

// 좋은법, 출력 속도가 훨씬 빠름
// 똑같은 문자열를 많이 사용할 때 이걸 사용하자
StringBuilder sb = new StringBuilder();

for (int i = 0; i < 100000; i++)
{
sb.AppendLine("로그 메시지 " + i);
}

Console.WriteLine(sb.ToString());

10. StartsWith / EndsWith

문자열 시작/끝 확인 (조건으로 사용할 것 같음)

ex)

  • 파일 확장자 확인
  • 명령어 prefix 구분
string testString = "report.pdf";

//"t"만 입력해도 true
Console.WriteLine(testString.StartsWith("report"));

//"f"만 입력해도 true
Console.WriteLine(testString.EndsWith(".pdf"));

출력
True
True

11. Length / Insert / Remove

문자열 길이 및 삽입/삭제

ex)

  • 입력 길이 검사
  • 중간 삽입 / 제거 처리
string testString = "Hello";

Console.WriteLine(testString.Length); // 문자열 길이
Console.WriteLine(testString.Insert(1, "@@")); // 1번째 커서 위치에 "@@"삽입
Console.WriteLine(testString.Remove(2)); // 2번째 글자 이후는 삭제

출력
5
H@@ello
He

12. Equals / Compare

문자열 비교

ex)

  • 대소문자 구분 여부 설정 가능
  • 문자열 정렬 비교
string testString = "Hello";
string testString2 = "hello";

//testString과 testString2가 같은가?
Console.WriteLine(testString.Equals(testString2 ));

// 대소문자 상관없이 testString과 testString2이 같은가?
Console.WriteLine(testString.Equals(testString2 ,
StringComparison.OrdinalIgnoreCase));

//"apple"과 "banana"가 같은가? 맞으면 0, 아니면 -1
Console.WriteLine(string.Compare("apple", "banana"));

출력
False
True
-1

0개의 댓글