C# 언어에서 문자열 나누기 방법으로는 Split 함수가 있습니다. Split 함수는 지정한 구분자를 기준으로 문자열을 자르는 기능을 하며, 주로 정해진 순서대로 데이터를 받아오거나, 일정한 문자열이 나열될 때 구분자를 통하여 손쉽게 문자열을 나눌 수 있습니다.
C#/WPF 문자열 나누기 (SPLIT)
1. SPLIT 함수란?
- 하나 이상의 구분자(기호)를 기준으로 입력받은 문자열을 자르거나 나누는 문자열의 배열을 생성합니다.
- 주로 나열되는 문자열을 String 변수에 구분자를 이용하여 담은 후 일정한 배열에 순서대로 넣는 방법이 있습니다. 실제로 많이 사용한 방법으로는 mysql 또는 mssql 데이터베이스에서 하나의 칼럼을 조회할 때, 받은 데이터들을 구분자를 이용하여 String 변수에 담은 후 문자열 배열로 나누어 사용하였습니다.
2. SPLIT 함수 형태
- String.Split( "[구분자 기호]" );
- 위 함수를 사용하여 String[] 배열에 담은 후 사용하실 수 있습니다. ( String[] split = 문자열.Split(',') )
3. SPLIT 예제
-- 나열된 이름을 구분자를 통하여 배열로 나누기
String name_list = "김선호,문선업,전기윤,조진식,홍승익";
-- Split 함수 사용
String[] name_split = name_list.Split(',');
-- 출력
for (int i = 0; i < name_split.Lenth; i++)
{
Console.WriteLine(name_split[i]);
}
-- 결과값
name_split[0] = 김선호
name_split[1] = 문선업
name_split[2] = 전기윤
name_split[3] = 조진식
name_split[4] = 홍승익
위 예제처럼 Split 함수를 사용하지 않을 때는 for문을 이용하여 구분자를 찾은 후 배열에 넣어 사용하지만, Split 함수를 사용하게 되면 코딩 라인도 줄일 수 있으며, 보다 효율적으로 문자열을 나눌 수 있습니다.
-- List와 비슷한 형태로 사용하는 방법
String member_list = "김선호|20,문선21,전기윤|22,조진식|23,홍승익|24";
-- Split 함수를 사용하여 1차 문자열 나누기
String[] member_split = name_list.Split(',');
-- 2차 문자열을 나누어 이름과 나이를 출력
foreach (String[] member in member_split)
{
String[] member_info = member.Split('|');
Console.WriteLine(string.Format("{0}/{1}", member_info[0], member_info[1]));
}
-- 결과값
member_split[0] = 김선호/20
member_split[1] = 문선업/21
member_split[2] = 전기윤/22
member_split[3] = 조진식/23
member_split[4] = 홍승익/24
하나의 문자열이 아닌 두 개 이상을 문자열로 배열에 담아둘 수도 있으며, 위 예제처럼 member_split의 string 배열에 넣어도 되며, List<String[]>에 넣어서 사용하기도 편리합니다.
C#에서 문자열을 보다 쉽게 나눌 수 있는 SPLIT 함수의 사용법에 대하여 알아보았으며, 프로그래밍 시 효율적인 코딩을 할 수 있는 예제에 대하여서도 짧게나마 알아보았습니다. 더 유용한 정보를 드릴 수 있도록 계속적으로 업데이트하겠습니다.
MSDN 참고 문서 - https://learn.microsoft.com/ko-kr/dotnet/csharp/how-to/parse-strings-using-split
'C# > WPF' 카테고리의 다른 글
[C#/WPF] Window(윈도우) 현재창 닫기(Close) (0) | 2023.08.17 |
---|---|
[C#/WPF] ComboBox(콤보박스) 생성 및 사용 방법 (0) | 2023.08.09 |
[C#/WPF] 모달/모달리스 다이얼로그 창 열기 (0) | 2023.02.07 |
[C#/WPF] 프로그램 메인창 닫기 (종료) (0) | 2023.01.18 |
[C#/WPF] 프로그램 최상위 표시 (TopMost) (0) | 2023.01.18 |
댓글