나 개발자 진짜 되냐?

[ C# 기본 문법 7 ] 문자열 처리 본문

C# 을 맛보았어요!/문법정리를 해보았어요!

[ C# 기본 문법 7 ] 문자열 처리

Snow Rabbit 2024. 9. 19. 21:59


 

 

숫자에는 연산자가 있어

야무지게 처리할 수 있고,

 

 

문자열도 문자열 나름에 

기능들과 메서드

다양한 처리방법이 있다!

 

함께 알아보자!!

 


 

[ 1 ]

문자열 생성

string str1 = "Hello, World!"; // 리터럴 문자열 사용
string str2 = new string('H', 5); // 문자 'H'를 5개로 구성된 문자열 생성

 

stirng로 특정 문자열을 넣어줄 수 있고,

 

문자열을 " "

큰따옴표로 하드코딩하는 것을

우리는 리터럴 이라고 했다

기억이 안 난다면?!

 

https://qua28.tistory.com/110

 

[ C# 기본 문법 3 ] 자료형 정리 ( 리터럴이란? )

자료형은우리가 숫자 문자 등 다양하게변수에 기입해야 하는데종류에 따라 구분이 필요하기 때문에그 구분들을 모아둔 것을 자료형이라고 한다. 자주 쓰는 자료형은자료형크기 및 범위int4 정

qua28.tistory.com

[ 2 ]

문자열 연결 ( + )

 

 

string str1 = "Hello";
string str2 = "World";
string str3 = str1 + " " + str2;

 

새로운 문자열을 이렇게

+ 를 통해 더할 수 있다.

 

[ 3 ]

문자열 분할 Split

 

string str = "Hello, World!";
string[] words = str.Split(',');

여기서는

, 쉼표로 구분한 모습을 볼 수 있다.

 

[ 4 ]

문자열 검색 Index

string str = "Hello, World!";
int index = str.IndexOf("World");

index라는 기능으로

글자의 위치를 찾아서

index라는 변수에 넣어줬다고 해석할 수 있다.

 

글자를 넣어준 게 아니다.

index로 찾은 위치 W의 위치인 7의 값이 index로 들어갔다.

 

[ 5 ]

문자열 대체 Replace

string str = "Hello, World!";
string newStr = str.Replace("World", "Universe");

대체 기능으로

world를 universe로 바꾸고

그 값을 newStr에 저장한다고 해석할 수 있다.

 

[ 6 ]

문자열 변환

 

string str = "123";
int num = int.Parse(str);

 

문자열을 받아서 숫자로

바꾼 후 숫자에 넣어주었다. 

 

int num = 123;
string str = num.ToString();

 

 

정수형 숫자 num을 문자열로 변환해서 str변수에 저장하는 것이다.

 

간단하게 변환을 정리하면

 

문자 → 숫자 parse

숫자 → 문자 ToString

 

[ 7 ]

문자열 비교

 

비교에는 두 방법이 있다.

 

1. 문자열 값 비교

string str1 = "Hello";
string str2 = "World";
bool isEqual = str1 == str2;

둘의 값을 비교하고

isEqual이라는 변수 값에 

인지 거짓인지 넣는다.

 

아마 예시코드의 값은 거짓이 나올 것이다.

hello와 world는 너무 다르다..ㅎ

 

2. 문자열 대소 비교

string str1 = "Apple";
string str2 = "Banana";
int compare = string.Compare(str1, str2);

 

이 코드는

크기를 비교해서 변수 compare에 저장한다.

이 변수 값에서

0보다 작다면

str1이 더 작은 거고

 

0이면 str1과 str2가 같은 거고

 

0보다 크다면

str1이 더 큰 것으로 해석한다.

 

여기서 크다작다해서 음? 싶을 텐데

문자열 길이를 말하는 게 아니라

사전식 정의라고 해서

알파벳이 뒤로 갈수록 숫자가 크다

 

A < Z

Z < a

a < z

 

그래서 a는 b보다 순서상 앞이기 때문에

음수가 나올 것이다!

 

[ 8 ]

문자열 포맷팅

 

기억이 날지 모르겠지만

{} 이 친구를 우리는 포맷팅이라고 부른다.

 

포맷팅도 두 가지로 나뉜다.

 

1. 문자열 형식화

string name = "John";
int age = 30;
string message = string.Format("My name is {0} and I'm {1} years old.", name, age);

변수 넣을 곳을 먼저 중괄호{}로 뚫어놓고

그 뒤에 쉼표, 표시로

0번째에 있는 친구를 가져올 거야 그래서 name

1번째 있는 친구를 가져올거야 age가 나오는 것이다.

 

2. 문자열 보간

string name = "John";
int age = 30;
string message = $"My name is {name} and I'm {age} years old.";

보간은 사이를 채우다는 뜻으로

말 그대로 앞에 달러표시를 한 후

사이사이에 {중괄호} 안에 변수를 적어주는 방법이 있다.

 

개인적으로 후자가 더 쉽고 깔끔해 보이긴 한다.