指定した文字の最初の出現に基づいてC#文字列を分割するにはどうすればよいですか?値が「101、a、b、c、d」の文字列があるとします。 101&a、b、c、dとして分割したい。これは、最初にコンマ文字が出現することによるものです。
string.Split
を使用して、返すサブストリングの数を指定できます。
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
2番目の部分では、+1
は、コンマを含めることを避けます。
string.Split()
関数を使用します。最高です。作成するチャンクの数。文字列 "abc、def、ghi"があり、count
パラメータを2に設定してSplit()を呼び出すと、2つのチャンク "abc"と "def、ghi"が作成されます。
.net Coreでは、次を使用できます。
var pieces = myString.Split(',', 2);
戻り値:
101
a,b,c,d