728x90
# 문자열 함수 리스트
함수와 서식 | 설명 |
PadLeft(10) | 문자열의 길이를 10으로 만들면서 좌측에 공백 만들기 |
PadRight(15) | 문자열의 길이를 15로 만들면서 우측에 공백 만들기 |
IndexOf("대상 문자열") | 가장 먼저 나오는 대상 문자열의 첫 번째 인덱스를 리턴합니다. 없으면 -1 리턴. |
LastIndexOf("대상 문자열") | 가장 마지막에 나오는 대상 문자열의 첫 번째 인덱스를 리턴합니다. 없으면 -1 리턴. |
IndexOfAny( 문자 배열 ) | 문자 배열에 있는 문자를 발견하면 그 인덱스를 리턴합니다. |
Substring(2, 3) | 문자열 2번 인덱스에서부터 3개 문자를 리턴합니다. |
Contains("x") | 문자열 "x"가 포함되어 있으면 true을 리턴합니다. |
StartsWith("y") | 문자열 "y"로 시작하는 문자열이면 true를 리턴합니다. |
EndsWith("z") | 문자열 "z"로 끝나는 문자열이면 true를 리턴합니다. |
Insert(3,"abc") | [3]자리부터 문자열 "abc"를 끼워넣습니다. 나머지는 뒤로 밀려납니다. |
Remove(2, 3) | 문자열의 두 번째 문자부터 3개를 삭제합니다. |
Replace("x", " ") | 문자열에 있는 모든 x를 공백으로 대체합니다. |
Trim() | 문자열 양쪽의 공백을 제거한 후 리턴합니다. |
TrimStart() | 문자열 앞쪽의 공백을 제거한 후 리턴합니다. |
TrimEnd() | 문자열 뒤쪽의 공백을 제거한 후 리턴합니다. |
Split(",") | 문자열 ","기준으로 대상 문자열을 잘라 문자열 배열을 리턴합니다. |
ToCharArray() | 문자열을 각 문자로 나눠 문자 배열로 리턴합니다. |
Join("&", 문자열 배열) | 문자열 배열의 문자열들을 "&"로 이어붙여 하나의 문자열로 리턴합니다. |
# PadLeft(), PadRight()
string num = "12";
string name = "hamberger";
string price = "$4,000";
var stringLine = num.PadRight(5); // 문자열 길이가 5가 되면서 우측 공백
stringLine += name.PadRight(10); // 문자열 길이가 10이 되면서 우측 공백
stringLine += price.PadLeft(10); // 문자열 길이가 10이 되면서 좌측 공백
Console.WriteLine(stringLine);
num = "1234";
name = "pizza";
price = "$10,000";
stringLine = num.PadRight(5);
stringLine += name.PadRight(10);
stringLine += price.PadLeft(10);
Console.WriteLine(stringLine);
출력결과 ( 콘솔에서 확인해야 명확합니다)
12 hamberger $4,000
1234 pizza $10,000
# IndexOf(), LastIndexOf(), IndexOfAny(), Substring()
string string1 = "01x3456x89";
int index = string1.IndexOf("x"); // 가장 먼저 나오는 x의 인덱스 2를 리턴합니다.
Console.WriteLine(index);
index = string1.LastIndexOf("x"); // 가장 나중에 나오는 x의 인덱스 7을 리턴합니다.
Console.WriteLine(index);
string string2 = "aaa (1234) cccc [5678] ee";
char[] checkChar = { '(', '{', '[' };
int endPosition = 0;
// checkChar에 있는 문자 중 하나라도 발견하면
// 그 문자와 매칭되는 문자를 startChar와 endChar로 설정한 후
// 그 사이에 있는 문자를 출력하고 다음으로 넘어갑니다.
// 문자열이 끝나면 반복문이 끝납니다.
while (true)
{
int startPosition = string2.IndexOfAny(checkChar, endPosition);
if (startPosition == -1) break;
string startChar = string2.Substring(startPosition, 1);
char endChar = ' ';
switch (startChar)
{
case "(":
endChar = ')';
break;
case "{":
endChar = '}';
break;
case "[":
endChar = ']';
break;
}
startPosition++;
endPosition = string2.IndexOf(endChar, startPosition);
int length = endPosition - startPosition;
Console.WriteLine(string2.Substring(startPosition, length));
}
출력결과
2
7
1234
5678
# Remove(), Replace(), Insert()
string phoneNumber = "010-1234-5689";
string result = phoneNumber.Remove(3, 4); // 문자열[3]부터 4개만큼 삭제합니다.
Console.WriteLine(result);
result = phoneNumber.Replace("-", "_"); // 문자열의 모든 "-"를 "_"로 바꿉니다.
Console.WriteLine(result);
result = phoneNumber.Insert(3, "(phone)"); // 문자열[3]에 "(phone)"을 끼워넣습니다.
Console.WriteLine(result);
출력 결과
0104-5689
010_1234_5689
010(phone)-1234-5689
# Trim(), TrimStart(), TrimEnd()
string phoneNumber = " 010 1234 5689 ";
string result = phoneNumber.Trim(); // 문자열의 양쪽 공백 제거
Console.WriteLine("S" + result + "E");
result = phoneNumber.TrimStart(); // 문자열의 앞쪽 공백 제거
Console.WriteLine("S" + result + "E");
result = phoneNumber.TrimEnd(); // 문자열의 뒤쪽 공백 제거
Console.WriteLine("S" + result + "E");
출력결과
S010 1234 5689E
S010 1234 5689 E
S 010 1234 5689E
# StartsWith(), EndsWith()
string[] id = { "A123", "B123", "A456", "B456" };
// "B"로 시작하는 문자열 출력
foreach (var item in id)
{
if(item.StartsWith("B"))
Console.WriteLine(item);
}
Console.WriteLine();
// "56"으로 끝나는 문자열 출력
foreach (var item in id)
{
if (item.EndsWith("56"))
Console.WriteLine(item);
}
출력결과
B123
B456
A456
B456
# split(), ToCharArray(), Join()
string myCities = "seoul,daejeon,busan,jeju";
string[] cities = myCities.Split(','); // ',' 쉼표를 기준으로 문자열을 분리합니다.
foreach (string city in cities)
Console.WriteLine(city);
char[] charArray = myCities.ToCharArray(); // char 단위로 분리합니다.
foreach (char c in charArray)
Console.Write(c + " ");
Console.WriteLine();
string result = String.Join(" : ", cities); // 2번줄의 cities를 이어붙입니다.
Console.WriteLine(result);
출력 결과
seoul
daejeon
busan
jeju
s e o u l , d a e j e o n , b u s a n , j e j u
seoul : daejeon : busan : jeju
728x90
'Lang > C#' 카테고리의 다른 글
[C#] sealed 한정자 (0) | 2022.12.22 |
---|---|
[C#] out var 파라미터 (0) | 2022.12.20 |