Microsoft.VisualBasicを参照せずにc#VB6スタイルで文字列を分割できますか?
質問
残念ながら、string.Split(string separator)はなく、string.Split(char speparator)のみが存在するようです。
複数文字の区切り文字、la VB6に基づいて文字列を分割したい。 C#でこれを行う簡単な(つまり、Microsoft.VisualBasicを参照したり、RegExesを学ぶ必要がない)方法はありますか?
編集:.NET Framework 3.5の使用。
解決
String.Split()
には他のオーバーロードがあります。それらのいくつかはstring[]
引数を取ります。
string original = "first;&second;&third";
string[] splitResults = original.Split( new string[] { ";&" }, StringSplitOptions.None );
他のヒント
文字列を分割するための正規表現は非常に単純なので、そのルートを使用します。
.Netのバージョンは?少なくとも2.0以降には、次のオーバーロードが含まれています。
.Split(string[] separator, StringSplitOptions options)
.Split(string[] separator, int count, StringSplitOptions options)
IEnumerable <!> lt; string <!> gt;を受け入れるように修正するだけの場合配列の代わりに。
正規表現のバージョンはおそらくきれいですが、これも機能します:
string[] y = { "bar" };
string x = "foobarfoo";
foreach (string s in x.Split(y, StringSplitOptions.None))
Console.WriteLine(s);
fooを2回出力します。
string[] stringSeparators = new string[] {"[stop]"};
string[] result;
result = someString.Split(stringSeparators, StringSplitOptions.None);
.NET 2.0では常にこれを使用しています。
string[] args = "first;&second;&third".Split(";&".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
所属していません StackOverflow