상세 컨텐츠

본문 제목

[C#] 문자열 및 문자열출력 다루기

.NET/C#

by 클리엘 클리엘 2021. 1. 18. 09:13

본문

728x90

1. 문자열 검색

 

문자열 값은 다음과 같은 메서드를 통해 특정 내용을 검색할 수 있습니다.

메서드 기능
IndexOf(string) 문자 또는 문자열을 검색하고 해당 인덱스를 반환합니다. 
LastIndexOf(string) 문자 또는 문자열을 뒤에서 부터 검색하고 해당 인덱스를 반환합니다.
StartsWith(string) 문자열이 지정한 string으로 시작하는지를 확인합니다.
EndsWith(string) 문자열이 지정한 string으로 끝나는지를 확인합니다.
Contains(string) 문자열중 지정한 string이 포함되어 있는지 확인합니다.
Replace(string1, string2) 문자열에서 지정한 string1을 찾아 string2로 바꾼 후 결과를 반환합니다.
static void Main(string[] args)
{
	string s = "abcd";

	if (s.StartsWith("abc")) {
		Console.WriteLine($"Result : true");
	}
	else {
		Console.WriteLine($"Result : false");
	}
}

2. 문자열 변경

 

문자열은 변경과 관련해서는 아래 메서드를 지원하고 있습니다.

메서드 기능
ToLower() 영문 대문자를 소문자로 변경한 결과를 반환합니다.
ToUpper() 영문 소문자를 대문자로 변경한 결과를 반환합니다.
Insert(int, string) 문자열에서 int위치로 지정한 부분에 지정한 string을 추가한 결과를 반환합니다.
Remove(int1, int2) 문자열에서 int1위치부터 int2만큼의 문자열을 삭제한 결과를 반환합니다.
Trim() 문자열에서 앞뒤 공백을 제거합니다.
TrimStart() 문자열에서 앞 공백을 제거합니다.
TrimEnd() 문자열에서 뒤 공백을 제거합니다.
static void Main(string[] args)
{
	string s = "abcdhijk";

	s = s.Insert(4, "efg");

	Console.WriteLine($"Result : {s}");
}

3. 문자열 나누기

 

문자열 분리는 아래 메서드를 사용합니다.

메서드 기능
Split(string) 문자열에서 지정한 string을 기준으로 나누어 그 결과를 string[] 형식의 배열로 반환합니다.
Substring(int1, int2) 문자열에서 int1위치로 부터 int2만큼의 문자열을 추출해 그 결과를 반환합니다.
static void Main(string[] args)
{
	string s = "abcdhijk";

	s = s.Substring(0, 3);

	Console.WriteLine($"Result : {s}");
}

4. 서식 지정

 

문자열에 대한 서식 지정은 다음의 메서드가 사용됩니다.

메서드 기능
string.Format() 문자열의 서식을 지정합니다.

참고로 변수를 문자열과 함께 출력 시 문자열 시작점 앞에 $기호를 넣으면 {} 괄호 안으로 변수를 직접 지정해 출력할 수 있는 '보간'기능을 사용할 수 있습니다. 또한 Console의 WriteLine메서드에도 동일하게 서식을 적용할 수 있습니다.

 

(1) 좌우 크기 맞춤

static void Main(string[] args)
{
	string s = "abcde";
	string s2 = "fghijk";

	s = string.Format($"{s, -10}-----");

	Console.WriteLine($"Result : {s}");

	s2 = string.Format($"{s2, 10}-----");

	Console.WriteLine($"Result : {s2}");
}

-10은 10개의 문자가 들어갈 공간을 확보하도록 하고 왼쪽부터 정해준 문자를 채워 넣습니다. 반대로 10은 10개의 문자가 들어갈 공간을 확보하되 오른쪽부터 정해진 문자열을 채워 넣습니다.

 

(2) 숫자 형식 지정

 

숫자 형태의 데이터에 서식을 지정하려면 ':[서식지정자]' 형태로 서식을 지정할 수 있습니다.

static void Main(string[] args)
{
	int i = 123456789;

	Console.WriteLine($"{i:N}");
}

N은 숫자에 천 단위로 ,를 찍어 표시합니다.

 

N 이외에 서식 지정을 하는 문자는 대략 다음과 같은 것들이 있습니다.

서식지정자 기능
D 10진수로 표시합니다.
X 16진수로 표시합니다.
N 천단위로 ,문자를 찍어 표시합니다.
F 고정소수점 형식으로 표시합니다.
E 지수로 표시합니다.

서식지정자 옆에 숫자를 기입하면 해당 자릿수만큼 숫자를 표현하게 됩니다.

static void Main(string[] args)
{
	int i = 123456789;

	Console.WriteLine($"{i:D10}");
}

이때 자릿수는 빈칸에 0을 채워 넣거나, 자릿수가 0인 경우 소수점 이하를 제거합니다.

 

(3) 날짜 형식 지정

 

날짜와 관련해서는 다음의 서식지정자를 사용할 수 있습니다. (대소문자를 정확히 구분해야 합니다.)

서식지정자 기능
y 연도를 표시합니다. yy는 2자리를 yyyy는 4자리 연도를 의미합니다.
M 월을 표시합니다. M은 1자리를 MM은 2자리 월을 의미합니다.
d 일을 표시합니다. d는 1자리를 dd는 2자리를 일을 의미합니다.
h 1~12까지 단위의 시간을 표시합니다. h는 1자리를 hh는 2자리 시간을 의미합니다.
H 1~24까지 단위의 시간을 표시합니다. H는 1자리를 HH는 2자리 시간을 의미합니다.
m 분을 표시합니다. m은 1자리, mm은 2자리 분을 의미합니다.
s 초를 표시합니다. s는 1자리, ss는 2자리 초를 의미합니다.
tt '오전/오후'를 표시합니다.
ddd 요일을 표시합니다. ddd는 '일'처럼 한글자로, dddd는 '일요일'처럼 전체글자로 표시합니다.
static void Main(string[] args)
{
	DateTime d = new DateTime(2020, 12, 11, 10, 56, 10); //2020년 12월 11일 10시 56분 10초

	Console.WriteLine($"{d:yyyy-MM-dd HH:mm}");
}

날짜 표시는 기본적으로 시스템에 지정되어 있는 문화권의 형식에 맞게 표시합니다. 예를 들어 '제어판->국가 및 지역'설정에 '대한민국'이 표시되어 있으면 날짜의 형식은 yyyy-MM-dd가 되지만

 

미국이라면 M/d/yyyy 형식이 됩니다.

 

설정을 통해 국가를 설정하지 않고 특정 국자의 포맷으로 날짜/시간을 표시하려면 CultureInfo 클래스를 사용합니다. CultureInfo는 System.Globalization 네임스페이스를 참조해야 합니다.

static void Main(string[] args)
{
	DateTime d = new DateTime(2020, 12, 11, 10, 56, 10); //2020년 12월 11일 10시 56분 10초

	CultureInfo c = new CultureInfo("en-US");

	Console.WriteLine($"{d.ToString(c)}");
}

 

728x90

'.NET > C#' 카테고리의 다른 글

[C#] 제어문  (0) 2021.01.21
[C#] 연산자  (0) 2021.01.19
[C#] 문자열 및 문자열출력 다루기  (0) 2021.01.18
[C#] 데이터  (0) 2021.01.15
[C#] CLR / CTS  (0) 2021.01.14
[C#] HelloWorld  (0) 2021.01.13

관련글 더보기

댓글 영역