개발꿈나무
[C# 교과서] 8. C# 활용(2) - 문자열 다루기 본문
반응형
문자열 다루기
- 닷넷 프레임워크에 내장된 클래스 중에서 문자열 관련 클래스(String, StringBuilder)는 문자열 길이 변환, 문자열 공백 제거, 대·소문자 변환 등 기능을 하는 메서드 제공
- C#의 문자열은 유니코드 문자열이기에 다국어를 지원하고, 문자열 관련 모든 기능도 다국어 제대로 처리
문자열 다루기
- Length: 문자열 길이 값 변환
- ToUpper(): 문자열을 모두 대문자로 변환
- ToLower(): 문자열을 모두 소문자로 변환
- Trim(): 문자열 양쪽 공백을 잘라 냄
- Replace(원본 문자열, 대상 문자열): 원본 문자열을 대상 문자열로 변경
- Substring(문자열인덱스, 길이): 지정된 문자열 인덱스부터 길이만큼 반환
문자열 묶는 표현 방법
var firstName = "승수";
var lastName = "백";
var fullName = "";
//1. 더하기 연산자 사용
fullName = lastName + firstName;
//2. string.Format() 사용
fullName = string.Format(lastName, firstName);
//3. 문자열 보간법 사용
fullName = ${lastName){firstName};
문자열 비교 방법
C#에서 == 연산자를 사용한 문자열 비교는 대·소문자를 구분한다. 대·소문자를 구분하지 않고 문자열을 비교하려면 문자열 변수의 Equlas() 메서드에 추가 옵션인 StringComparison 열거형의 OrdinalIgnoreCase 값을 사용해야 한다.
string userName1 = "RedPlus";
string userName2 = "redPlus";
//1. ==연산자 사용
if(userName1.ToLower() == userName2.ToLower())
{
Console.WriteLine("[1] 같습니다.");
}
//2. string.Equals() 메서드 사용
if(string.Equals(userName1, userName2, StringComparison.InvariantCultureIgnoreCase))
{
Console.WriteLine("[2] 같습니다.");
}
if(userName1.Equlas(userName2, StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("[3] 같습니다.");
}
ToCharArray() 메서드로 문자열은 문자 배열로 변환하기
string s = "Hello";
char[] ch = s.ToCharArray(); //문자열을 문자 배열로 변환
Split() 메서드로 문자열 분리하기
string src = "Red, Green, Blue";
string[] colors = src.Split(','); //,를 기준으로 분리하여 문자열 배열 만들기
Console.WriteLine(colors);
//result: string[3] {"Red", "Green", "Blue"}
문자열 처리 관련 주요 API 살펴보기
- 문자열 변수는 초기화하지 않으면 기본적으로 null 값으로 초기화
- 문자열.Length(): 문자열의 길이 반환
- 문자열[n]: 문자열은 문자 배열을 의미하므로 n번짜 문자 반환
- 문자열.ToUpper(), 문자열.ToLower(): 각각 대문자, 소문자로 변경
- 문자열.TrimStart(), 문자열.TrimEnd(): 각각 시작점, 끝점의 공백 제거
- 문자열.IndexOf('문자'): 특정 문자의 위치(인덱스) 반환
- 문자열.Remove(a, b): a번째부터 b개만큼의 문자열 제거
- 문자열.Insert(a, ""): a번째에 특정 문자열(문자) 삽입
- 문자열.StartWith("a"): 문자열이 특정 문자열(문자)로 시작하는지 bool 반환
- 문자열.PadLeft(n, "a"), 문자열.PadRight(n, "a"): 각각 특정 문자를 왼쪽 또는 오른쪽에 채움
StringBuilder 클래스를 사용하여 문자열 연결하기
많은 양의 문자열을 반복해서 묶는 잡업이 팰요할 때 StringBuilder 클래스를 사용하면 효율적
using System.Text;
StringBuilder sb = new StringBuilder(); //StringBuilder 클래스의 인스턴스 생성
sb.Append("first\n"); //Append() 메서드로 문자열 추가
sb.Append("second\n");
sb.Append("third\n");
Console.WriteLine(sb);
/*
<result>
[first
second
third
]
*/
반응형
'C# 기초' 카테고리의 다른 글
[C# 교과서] 10. C# 활용(4) - 컬렉션 사용하기 (0) | 2022.01.17 |
---|---|
[C# 교과서] 9. C# 활용(3) - 예외 처리하기 (0) | 2022.01.17 |
[C# 교과서] 7. C# 활용(1) - 닷넷 API(구조체, 열거형, 클래스) (1) | 2022.01.14 |
[C# 교과서] 6. C# 기초(5) - 함수 사용하기 (0) | 2022.01.14 |
[C# 교과서] 5. C# 기초(4) - 배열 사용하기 (0) | 2022.01.14 |
Comments