-1
2つ以上のスペースがある最初の単語の後にのみ文字列を分割したいと思います。たとえば:複数のスペースで区切られた最初の単語の後の文字列を分割する
string myString = "AAAA AAA DDD BBBB BBB BBB CCCCCCCC";
私はこれらにそれを分割したい:
"AAAA AAA DDD"
"BBBB BBB BBB CCCCCCCC"
助けてください。
2つ以上のスペースがある最初の単語の後にのみ文字列を分割したいと思います。たとえば:複数のスペースで区切られた最初の単語の後の文字列を分割する
string myString = "AAAA AAA DDD BBBB BBB BBB CCCCCCCC";
私はこれらにそれを分割したい:
"AAAA AAA DDD"
"BBBB BBB BBB CCCCCCCC"
助けてください。
Substring
は最も簡単な方法です:
string myString = "AAAA AAA DDD BBBB BBB BBB CCCCCCCC";
int splitIndex = myString.IndexOf(" ");
if (splitIndex > 0)
{
Console.WriteLine(myString.Substring(0, splitIndex).Trim());
Console.WriteLine(myString.Substring(splitIndex).Trim());
}
else
throw new FormatException();
別のオプションを使用することですRegex:
string myString = "AAAA AAA DDD BBBB BBB BBB CCCCCCCC";
Regex searchTerm = new Regex("[ ]{2,}", RegexOptions.None);
var splitedData = searchTerm.Replace(myString, "|").Split(new string[]{"|"},StringSplitOptions.RemoveEmptyEntries);
foreach(var d in splitedData)
{
Console.WriteLine("{0}", d);
}
結果:
AAAA AAA DDD
BBBB BBB BBB
CCCCCCCC
私のソリューションは、これに基づいています:How do I replace multiple spaces with a single space in C#?
あなたは今まで何を試しましたか? BTW:文字列を複数の「単語」に分割する基準は明確ではありません。 –
私はこのvar array = myString.Split(新しい文字列[] {""}、StringSplitOptions.RemoveEmptyEntries);を試しました。 – User2309
"AAA BB CCC DDDD"の場合、この文字列を "AAA BB"と "CCC DDDD"のように別々の単語にします。 – User2309