2017-06-28 12 views
-1

2つ以上のスペースがある最初の単語の後にのみ文字列を分割したいと思います。たとえば:複数のスペースで区切られた最初の単語の後の文字列を分割する

string myString = "AAAA AAA DDD BBBB BBB BBB  CCCCCCCC"; 

私はこれらにそれを分割したい:

"AAAA AAA DDD" 
"BBBB BBB BBB  CCCCCCCC" 

助けてください。

+5

あなたは今まで何を試しましたか? BTW:文字列を複数の「単語」に分割する基準は明確ではありません。 –

+0

私はこのvar array = myString.Split(新しい文字列[] {""}、StringSplitOptions.RemoveEmptyEntries);を試しました。 – User2309

+0

"AAA BB CCC DDDD"の場合、この文字列を "AAA BB"と "CCC DDDD"のように別々の単語にします。 – User2309

答えて

5

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(); 
0

別のオプションを使用することです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#?

関連する問題