String.Split() 방법. 구분 기호를 지정하지 않으면 공백 문자로 문자열을 분할한다.
using System;
public class Example
{
public static void Main()
{
String s = "Split by\twhitespace";
string[] tokens = s.Split();
Console.WriteLine(String.Join(", ", tokens)); // 공백으로 분할
}
}
여러 공간을 처리하려면 다음을 사용할 수 있다. String.Split(char[]) method 과부하 StringSplitOptions.RemoveEmptyEntries 아래 그림과 같이 옵션을 선택.
using System;
public class Example
{
public static void Main()
{
String s = "Split by\t\twhitespace";
string[] tokens = s.Split(new char[0], StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(String.Join(", ", tokens)); // 공백으로 분할
}
}
위의 솔루션은 새 개체를 만든다. 새 객체를 생성하지 않으려면 다음을 사용할 수 있다. (char[]) null 대신에 new char[0].
using System;
public class Example
{
public static void Main()
{
String s = "Split by\t\twhitespace";
string[] tokens = s.Split((char[]) null, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(String.Join(", ", tokens)); // 공백으로 분할
}
}
공백에서 문자열을 분할하는 확장 함수를 만들 수도 있다. 일부 공백 문자로만 문자열을 분할하려면 char 배열에 전달할 수 있다.
sing System;
public static class StringExtensions
{
public static string[] SplitOnWhitespace(this string input)
{
char[] whitespace = new char[] { ' ', '\t', '\r', '\n' };
return input.Split(whitespace, StringSplitOptions.RemoveEmptyEntries);
}
}
public class Example
{
public static void Main()
{
String s = "Split by\twhitespace";
string[] tokens = s.SplitOnWhitespace();
Console.WriteLine(String.Join(", ", tokens)); // 공백으로 분할
}
}
출처 : https://www.techiedelight.com/ko/split-a-string-on-whitespace-characters-in-csharp/
'프로그래밍 언어 > C#' 카테고리의 다른 글
C# 복사본 만들기 (0) | 2023.06.13 |
---|---|
C# 문자열 자르기(Split), 추출(Substring) (0) | 2023.06.13 |
C# _ Discard (변수 무시) (0) | 2023.06.07 |
C# 오버플로우(Overflow), 언더플로우(Underflow) (0) | 2023.05.21 |
C# Thread 클래스 (스레드) (0) | 2023.03.24 |