“Sword, Spear ,Bow , Shield,Gun”
다음과 같은 문자열에서 "Sword"와 같은 단어를 추출하고 싶을 때
단어 사이에는 콤마(,)로 구분돼 있는데 콤마 앞뒤에 공백이 존재할 가능성이 있다.
String 클래스에 있는 Split 메서드로 처리한다면
var text = “Sword, Spear ,Bow , Shield,Gun”;
string[] words = text.Split(',');
단어 앞뒤에 있는 공백이 처리가 안되고 그대로 문자열에 대입이된다.
Regex 클래스에 있는 Split 메서드를 이용하면 정규 표현식을 통해 일치한 부분으로 구분할 수 있으므로 String 클래스에 있는 Split 메서드보다 유연하게 처리할 수 있다.
var text = “Sword, Spear ,Bow , Shield,Gun”;
var pattern = @”\s*,\s*”;
string[] substrings = Regex.Split(text, pattern);
@”\s*,\s*”는 ‘,’ (앞 뒤 공백 없음) ‘ ,’ (앞 공백) ‘, ‘ (뒤 공백) 같은 문자열과 일치하여 공백까지 처리하여 구분할 수 있게된다.
'C# > 정규 표현식' 카테고리의 다른 글
C#에서 정규 표현식 '최단 일치 수량자'를 사용해 패턴에 매칭되는 것 중 가장 짧은 것을 일치시키는 방법 (0) | 2021.09.04 |
---|---|
C#에서 정규 표현식 '수량자'를 이용하여 일정 수만큼 반복되는 것 찾기 (0) | 2021.09.04 |
C#에서 정규 표현식을 사용하여 문자열을 치환하는 방법 (Regex.Replace 메서드) (0) | 2021.09.03 |
C#에서 정규 표현식으로 일치하는 부분 문자열을 모두 찾고 여러 가지 처리하는 방법 (LINQ 적용, 찾은 부분 문자열의 일부분만 추출) (0) | 2021.09.01 |
C#에서 정규 표현식으로 처음 나오는 부분 문자열을 찾는 방법 (Match 메서드) (0) | 2021.09.01 |