Come divido una stringa in un array?
Domanda
Voglio dividere una stringa in un array. La stringa è la seguente:
: ciao: mr.zoghal:
Vorrei dividerlo come segue:
ciao mr.zoghal
Ho provato ...
string[] split = string.Split(new Char[] {':'});
e ora voglio avere:
string something = hello ;
string something1 = mr.zoghal;
Come posso farlo?
Soluzione
Per la tua richiesta originale:
string myString = ":hello:mr.zoghal:";
string[] split = myString.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
var somethings = split.Select(s => String.Format("something = {0};", s));
Console.WriteLine(String.Join("\n", somethings.ToArray()));
Questo produrrà
something = hello;
something = mr.zoghal;
secondo la tua richiesta.
Inoltre, la linea
string[] split = string.Split(new Char[] {':'});
non è C # legale. String.Split
è un metodo a livello di istanza mentre il tuo codice corrente sta cercando di invocare Split
su un'istanza denominata string
(non legale come " ; string
" è una parola chiave riservata) o sta cercando di invocare un metodo statico chiamato Split
sulla classe String
(non esiste un metodo simile ).
Modifica: non è esattamente chiaro cosa stai chiedendo. Ma penso che questo ti darà quello che vuoi:
string myString = ":hello:mr.zoghal:";
string[] split = myString.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
string something = split[0];
string something1 = split[1];
Ora avrai
something == "hello"
e
something1 == "mr.zoghal"
entrambi valutano come veri. È questo quello che stai cercando?
Altri suggerimenti
String myString = ": hello: mr.zoghal: " ;;
string[] split = myString.Split(':');
string newString = string.Empty;
foreach(String s in split) {
newString += "something = " + s + "; ";
}
Il tuo output sarebbe: qualcosa = ciao; qualcosa = mr.zoghal;
È molto più semplice di così. C'è già un'opzione.
string mystring = ":hello:mr.zoghal:";
string[] split = mystring.Split(new char[] {':'}, StringSplitOptions.RemoveEmptyEntries);