Puis-je scinder une chaîne dans le style c # VB6 sans faire référence à Microsoft.VisualBasic?

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

  •  03-07-2019
  •  | 
  •  

Question

Malheureusement, il ne semble pas y avoir de chaîne.Split (séparateur de chaîne), uniquement string.Split (spécificateur de caractère).

Je souhaite séparer ma chaîne en fonction d'un séparateur multi-caractères, à la VB6. Existe-t-il un moyen simple (c’est-à-dire de ne pas référencer Microsoft.VisualBasic ou d’apprendre RegExes) à le faire en c #?

EDIT: Utilisation de .NET Framework 3.5.

Était-ce utile?

La solution

String.Split() a d'autres surcharges. Certains d'entre eux prennent string[] des arguments.

string original = "first;&second;&third";
string[] splitResults = original.Split( new string[] { ";&" }, StringSplitOptions.None );

Autres conseils

la regex pour diviser la chaîne est extrêmement simple, donc je voudrais aller avec cette route.

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

Quelle version de .Net? Les versions 2.0 et suivantes au moins incluent les surcharges suivantes:

.Split(string[] separator, StringSplitOptions options)  
.Split(string[] separator, int count, StringSplitOptions options)

Maintenant, si seulement ils résolvaient ce problème, ils accepteraient n'importe quel IEnumerable < string > au lieu de juste un tableau.

La version regex est probablement plus jolie mais cela fonctionne aussi:

string[] y = { "bar" };

string x = "foobarfoo";
foreach (string s in x.Split(y, StringSplitOptions.None))
      Console.WriteLine(s);

Ceci imprimera deux fois foo.

 string[] stringSeparators = new string[] {"[stop]"};
    string[] result;
result = someString.Split(stringSeparators, StringSplitOptions.None);

via http://msdn.microsoft.com/en-us/ bibliothèque / tabh47cf.aspx

Je l’utilise tout le temps sous .NET 2.0.

string[] args = "first;&second;&third".Split(";&".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top