Microsoft.VisualBasicを参照せずにc#VB6スタイルで文字列を分割できますか?

StackOverflow https://stackoverflow.com/questions/154706

  •  03-07-2019
  •  | 
  •  

質問

残念ながら、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 );

他のヒント

文字列を分割するための正規表現は非常に単純なので、そのルートを使用します。

http://msdn.microsoft.com/en-us/library /8yttk7sy.aspx

.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);

経由 http://msdn.microsoft.com/en-us/ library / tabh47cf.aspx

.NET 2.0では常にこれを使用しています。

string[] args = "first;&second;&third".Split(";&".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top