이번 포스팅에서는 String.Split()을 이용하여 문자열 분리하고 사용하는 방법을 간단한 예제와 함께 정리했습니다.
String.Split()
String.Split()을 이용하면 원하는 문자열들을 분리할 수 있습니다. 예를 들어 숫자형 문자열일 경우 개별 숫자들로 분리해서 더하는 작업을 수행할 수 있습니다. 이에 대한 예제로 다음과 같이 입력받은 여러 개의 숫자들을 더해서 결과를 출력하는 프로그램을 만들어 보겠습니다. 입력 숫자들은 공백으로 구분하며, enter키를 입력할 때까지 입력을 받습니다.
더하고자 하는 숫자들을 입력하세요 : 1 3 5 7 10
결과는 26입니다.
콘솔에서 값을 입력받을 때는 Console.ReadLine() 함수를 사용합니다. enter가 입력될 때까지 입력되는 한 줄을 하나의 문자열로 저장합니다. 위 예에서는 "1 3 5 7 10"이 하나의 문자열이 됩니다. 계산을 위해서는 숫자들을 추출해야 하는데 이때 사용하는 메서드가 Split()입니다.
s.Split('.')과 같이 구분하고자 하는 문자를 매개변수로 전달할 수 있습니다. Split()메소드는 구분하고자 하는 문자를 여러 개 지정할 수 있습니다. 예를 들어 빈칸, 콤마, '-'기호로 구분하고자 하면 다음과 같이 문자 배열로 만들어서 Split()에 매개변수로 전달해 주면 됩니다.
char[] delimiters = {',', ' ', '-', '+'};
string[] v = s.Split(delimiters);
다음은 위에서 언급한 입력받은 숫자들을 더하여 그 결과를 출력하는 프로그램입니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SplitMethod
{
internal class Program
{
static void Main(string[] args)
{
Console.Write("더하고자 하는 숫자들을 입력하세요: ");
string s = Console.ReadLine();
Console.WriteLine("입력하신 숫자는 다음과 같습니다.");
Console.WriteLine(s);
int sum = 0;
string[] v = s.Split(); //디폴트 구분문자는 공백입니다.
foreach(var i in v)
{
sum += int.Parse(i);
}
Console.WriteLine("결과는 {0} 입니다.", sum);
}
}
}
결과
더하고자 하는 숫자들을 입력하세요: 15 20 11 22 13 8 100 210
입력하신 숫자는 다음과 같습니다.
15 20 11 22 13 8 100 210
결과는 399 입니다.
Split()의 기본 구분문자는 ' '(공백)입니다. 매개변수로 ' '을 직접 전달해도 결과는 같습니다. 그리고 배열의 개수를 모를 때는 foreach() 문을 쓰는 것이 좋습니다.
[Review]
"초보자를 위한 C# 200제(2판)" 저자 / 강병익
'Program Language > C#' 카테고리의 다른 글
Part1. C# 첫발 내딛기(23. 문자열 검색) (5) | 2023.01.18 |
---|---|
Part1. C# 첫발 내딛기(22. 문자열 연결) (0) | 2023.01.15 |
Part1. C# 첫발 내딛기(20. String 클래스) (2) | 2023.01.13 |
Part1. C# 첫발 내딛기(19. 논리 연산자) (0) | 2023.01.11 |
Part1. C# 첫발 내딛기(18. OverflowException 과 Checked 키워드) (2) | 2023.01.11 |
댓글