2017-05-30 7 views
1

によって文字列:スプリットあなたは簡単にこのような何かを行うことができますJavaの内の2つの文字列

String[] result = input.split("AAA|BBB"); 

あなたはこのような入力があればということを意味する:

sssAAAvvvBBBuuu 

を結果はこのようになります:

sss 
vvv 
uuu 

C#でこれを行うための最善の方法は何ですが、私はあなたがほとんどC#で別の文字列で文字列を分割することはできません知っている:

string[] result = input.Split(new string[] { "AAA" }, StringSplitOptions.None); 

しかし、文字列を2つの文字列AAAとBBBで分割するのはどうですか?

答えて

13

だけのアレイ内の別の区切り文字を追加します。

string[] result = input.Split(new string[] { "AAA", "BBB" }, StringSplitOptions.None); 
+1

を呼び出し、C#で、あなたがこれを簡素化することができことができます。var結果を= input.Split(新しい[] { "AAA"、 "BBB"} 、StringSplitOptions.None); – realbart

+0

@realbart、NO、それは可読性を失います – Rahul

+1

StringSplitOptions.RemoveEmptyEntriesは "AAA"、 "BBB"を必要としない場合にはより良いオプションです。 – andy

3

あなたは正規表現を使用することができます。

string[] result = Regex.Split(input, "AAA|BBB"); 
0

ANSは

string test = "sssAAAvvvBBBuuu"; 

string[] list = test.Split(new string[] { "AAA", "BBB" }, StringSplitOptions.None); 

下回っている私はあなたが答えをgitのを願ってい

0

ますこれを使用することができます:

string str = "sssAAAvvvBBBuuu"; 
string[] separators = {"AAA", "BBB" }; 
string[] result = str.Trim().Split(separators, StringSplitOptions.RemoveEmptyEntries); 
0

それとも、ただの関数を作成し、

public static string[] SplitString(string input) 
{ 
    return Regex.Split(input, "AAA|BBB"); 
} 

foreach (string word in SplitString("sssAAAvvvBBBuuu")) 
{ 
    ........ 
    ........ 
} 

Output: sss 
     vvv 
     uuu 
関連する問題