programing

문자의 첫 번째 항목을 기준으로 문자열 분할

i4 2023. 4. 26. 22:57
반응형

문자의 첫 번째 항목을 기준으로 문자열 분할

지정된 문자의 첫 번째 발생을 기준으로 C# 문자열을 분할하려면 어떻게 해야 합니까?값이 있는 문자열이 있다고 가정합니다.

101,a,b,c,d

저는 그것을 다음과 같이 나누고 싶습니다.

101
a,b,c,d

그것은 쉼표 문자의 첫 번째 발생에 의한 것입니다.

다음을 사용하여 반환할 하위 문자열 수를 지정할 수 있습니다.

var pieces = myString.Split(new[] { ',' }, 2);

반환:

101
a,b,c,d
string s = "101,a,b,c,d";
int index = s.IndexOf(',');
string first =  s.Substring(0, index);
string second = s.Substring(index + 1);

사용할 수 있습니다.Substring두 부품을 따로따로 받는 것.

먼저 사용합니다.IndexOf첫 번째 쉼표의 위치를 가져오려면 다음과 같이 분할합니다.

string input = "101,a,b,c,d";
int firstCommaIndex = input.IndexOf(',');

string firstPart = input.Substring(0, firstCommaIndex); //101
string secondPart = input.Substring(firstCommaIndex + 1); //a,b,c,d

두 번째 부분은.+1쉼표를 포함하지 않도록 하는 것입니다.

사용하다string.Split()기능.생성할 최대 청크 수가 필요합니다.문자열 "abc,def,ghi"가 있고 그 위에 스플릿()을 호출한다고 가정합니다.count매개 변수를 2로 설정하면 "dev,ghi" 및 "def,ghi" 두 개의 청크가 생성됩니다.꼭 다음과 같이 부르세요.string.Split(new[] {','}, 2)C#이 다른 오버로드와 혼동하지 않도록 합니다.

var pieces = myString.Split(',', 2);

이거 안 돼요.오버로드가 일치하지 않고 컴파일러가 거부합니다.

다음과 같이 해야 합니다.

char[] chDelimiter = {','};
var pieces = myString.Split(chDelimiter, 2);

.net Core에서 다음을 사용할 수 있습니다.

var pieces = myString.Split(',', 2);

반환:

101
a,b,c,d

언급URL : https://stackoverflow.com/questions/21519548/split-string-based-on-the-first-occurrence-of-the-character

반응형