본문 바로가기
메타버스기반게임콘텐츠기획/스터디(C#이 보이는 그림책)

8장, 문자열의 응용 (8-1)

by Queenut 2021. 12. 7.

 * 서식 지정자

 : WriteLine() 이나 Write() 가 문자열을 그대로 표시한다면, 서식을 지정하는 방법도 있다.

 

 - 순서의 지정

 : 대응하는 인수의 순서는 상관이 없다.

 같은 인수를 반복해서 사용할 수도 있다.

 사용하지 않는 인수가 존재해도 상관 없다.

C#이 보이는 그림책 p214.

 

 

 - 서식의 지정

 : 수치의 서식을 지정할 때 사용됨.

수치 서식 지정자 의미
C (c) 통화로 표시(우리나란 \가 붙고 3자리 마다 ','로 구분.
D (d) 정수를 10진수로 표시
E (e) 부동소수점 수를 지수 형식으로 표시
F (f) 표준 소수점 표시(기본값은 소수점 이하 2자리 반올림)
G (g) E 또는 F를 간결하게 표시
N (n) 3자리마다 ','로 구분한 소수점 수를 표시(기본값은 소수점 이하 2자리 반올림)
P (p) 정수를 퍼센트의 값으로 표시(위와 같음)
X (x) 정수를 16진수로 표시

 

p215.

 

 

 

 - 문자열에 변수의 값을 삽입 

 : 위의 {0} 이나 {1}을 사용하는 방법으로 변수의 값을 문자열에 삽입할 수 있다.

p216.

혹은

Console.WriteLine($"{a} + {b} 는 {a+b)입니다.");

처럼 변수나 계산식을 직접 기술할 수도 있다. 결과는 위와 같다.

 

 

 

 * 에스케이프 문자

 : \(역 슬래시)를 통해 몇가지 기능을 사용할 수 있음.

 무효하고 싶을 땐(사용하고 싶지 않을 땐) 문자열 앞에 @를 붙인다. 

에스케이프 문자 의미
\' 작은 따옴표
\" 큰 따옴표
\n 줄 바꿈
\t
\\ 원화 기호
\0 null

 

 

 

 * string 클래스의 메소드

 : string 클래스에는 문자열을 조작하기 위한 속성이나 필드, 메소드가 준비되어 있다.

 

 

 - Length 속성: 문자열의 길이를 가져온다.

string a = "ABC";
Console.WriteLine(a.Length);       
  // 결과: 3

 

 - Empty 필드: 빈 문자열을 표시한다.

string c = string.Empty;
Console.WriteLine(c);         // 빈 문자열이 c에 대입된다.
  // 결과: 

 

 - IndexOf() 메소드: 문자열의 인덱스 번호를 검색한다.

string a = "ABCDEF";
int b = a.IndexOf('D');        // 'D'가 저장되어 있는 상자의 인덱스 번호를 가져온다.
  // 결과: 3

 

 - Replace() 메소드: 문자열을 다른 문자열로 치환한다.

string a = "책갈피 양";
string b = a.Replace("양", "군");     
  // 결과: 책갈피 군

 

 - Split() 메소드: 문자열을 분할하여 배열을 반환한다.

string a = "I, Love, you";
string[] b = a.Split(new char [] { ',' });            // 문자열 a를 ','가 있는 장소에서 구분한다.
  // 결과: string "I", string "Love", string "you"

 

 - Substring() 메소드: 문자열의 일부를 가져온다.

string a = "ABCDEF";
string b = a.Substring(1, 3);            // 인덱스 번호 1부터 차례로 a에 저장되어 있는 3문자를 가져온다.
  // 결과: BCD
string a = "ABCDEF";
string c = a.Substring(4);           // 인덱스 번호 4부터 끝까지 a에 저장되어 있는 문자를 가져온다.
   // 결과: EF

 

 - String.Compare() 메소드: 문자열을 비교

string a = "ABC";
string b = "ABCDE";
int c = String.Compare(a, b);          // 문자열을 비교하고 같으면 0, 다르면 1 혹은 -1을 반환한다.
  // 결과: -1 or 1
string a = "ABCD";
string b = "abcd";
int c = String.Compare(a, b, true);          // true를 지정하면 대문자와 소문자를 구분하지 않고 비교한다.
  // 결과: 0

 

 - String.Format() 메소드: 데이터를 서식화한 문자열

s = string.Format("{0}의 {1}", "C#이 보이는 그림책", "그림책");

p221. '의'는 출력되는게 정상인걸까?