string은 C#에서 문자열을 다루기 위해 제공하는 클래스 입니다.
자주 사용하는 함수 및 속성은 아래와 같습니다.
Contains | 지정된 부분 문자열이 이 문자열 내에서 발생하는지 여부를 나타내는 값을 반환합니다. |
Equals | 이 인스턴스와 지정된 다른 String 개체의 값이 같은지 여부를 확인합니다. |
Length | 현재 String 개체의 문자 수를 가져옵니다. |
Replace | 이 인스턴스에서 지정된 유니코드 문자가 모두 지정된 다른 유니코드 문자로 대체되는 새 문자열을 반환합니다. |
Split | 지정된 구분 문자에 따라 문자열을 부분 문자열로 분할합니다. |
Substring | 이 인스턴스에서 부분 문자열을 검색합니다. 부분 문자열은 지정된 문자 위치에서 시작하며 지정된 길이를 줍니다. |
ToLower | 소문자로 변환된 이 문자열의 복사본을 반환합니다. |
ToUpper | 대문자로 변환된 이 문자열의 복사본을 반환합니다. |
Trim | 현재 문자열에서 선행 및 후행 공백 문자를 모두 제거합니다. |
Compare | 지정된 규칙을 사용하여 지정된 두 String 개체를 비교하고 정렬 순서에서 상대 위치를 나타내는 정수를 반환합니다. |
CompareTo | 이 인스턴스를 지정된 String 개체와 비교하고 이 인스턴스가 지정한 문자열과 정렬 순서의 동일한 위치에 선행, 팔로우 또는 표시되는지 여부를 나타냅니다. |
Concat | 지정된 두 String인스턴스를 연결합니다. |
IndexOf | 이 문자열에서 지정된 유니코드 문자가 처음 나타나는 인덱스(0부터 시작)를 보고합니다. |
Insert | 지정된 문자열이 이 인스턴스의 지정된 인덱스 위치에 삽입되는 새 문자열을 반환합니다. |
위 표에 있는 함수 및 속성을 사용한 샘플 코드는 아래와 같습니다.
//"abc" 문자열이 있는지
string txt = tbText.Text;
bool bContains = txt.Contains("abc");
lbContain.Text = "Contain \"abc\": " + bContains;
//"abc" 문자열과 같은지
bool bEqual = txt.Equals("abc");
lbEqual.Text = "Equal \"abc\": " + bEqual;
//길이 반환
int iLength = txt.Length;
lbLength.Text = "Length: " + iLength;
//'a'를 'x'로 변환
string txtReplace = txt.Replace('a', 'x');
lbReplace.Text = "Replace \'a\' to \'b\': " + txt + " to " + txtReplace;
//쉼표(,)를 기준으로 나누기
string[] strSplit = txt.Split(',');
lbSplit.Text = "Split(,): \n";
for (int i = 0; i < strSplit.Length; i++)
{
lbSplit.Text += string.Format("{0}: {1}\n", i, strSplit[i]);
}
//2번째 인덱스에서 3개 추출하기
if (tbText.Text.Length < 5)
lbSubstring.Text = "Substring(2, 3): " + "input text least 5word";
else
{
string txtSubstring = txt.Substring(2, 3);
lbSubstring.Text = "Substring(2, 3): " + txtSubstring;
}
//소문자로
string strToLower = txt.ToLower();
lbToLower.Text = "ToLower: " + strToLower;
//대문자로
string strToUpper = txt.ToUpper();
lbToUpper.Text = "ToUpper: " + strToUpper;
//양쪽 빈문자열 제거
string strTrim = txt.Trim();
lbTrim.Text = "Trim: " + strTrim;
//"abc" 문자열과 비교, 같으면 0 다르면 -1 또는 1
int iCompare = string.Compare(txt, "abc");
lbCompare.Text = "Compare \"abc\": " + iCompare;
//"abc" 문자열과 비교, 같으면 0 다르면 -1 또는 1
int iCompareTo = txt.CompareTo("abc");
lbCompareTo.Text = "CompareTo \"abc\": " + iCompareTo;
//뒤에 이어 붙이기
string strConcat = string.Concat(txt, "123");
lbConcat.Text = "concat \"123\": " + strConcat;
//문자열 찾기, 찾은 인덱스 반환
int iIndexOf = txt.IndexOf('c');
lbIndexOf.Text = "IndexOf \'c\': : " + iIndexOf;
//1번째 인덱스에 "def" 문자열 삽입
string strInsert = txt.Insert(1, "def");
lbInsert.Text = "Insert \"def\" index 1: " + strInsert;
github : https://github.com/3001ssw/c_sharp/tree/main/string/string_basic
위 코드는 윈폼에서 만들어 졌는데 위 깃헙 링크 참고하시면 됩니다.
실행 결과는 아래와 같습니다.
그 외 string 클래스에 대한 자세한 사항은 아래 링크 참고하시면 됩니다.
msdn: https://learn.microsoft.com/ko-kr/dotnet/api/system.string?view=net-8.0