Sto provando a dividere una stringa nel primo spazio e mantenere solo la seconda metà. Quindi, se l'input fosse "1. top of steel", l'output sarebbe "top of steel". Sto lavorando con alcuni esempi diversi da qui e non riesco a farlo funzionare. Pensieri? Grazie.Split string al primo spazio
risposta
var myString = "1. top of steel";
var newString = myString.Remove(0, myString.IndexOf(' ') + 1);
Si può solo fare:
string myString = "1. top of steel"; //replace this with the input
string resultString = myString.IndexOf(' ') > -1
? myString.Substring(myString.IndexOf(' ') + 1)
: myString;
Il tuo splitString deve essere un array e anche in questo caso il risultato 'myNewString' sarà' top' perché dividerebbe su ogni spazio non solo sul primo. – jzworkman
È necessario un array per memorizzare il risultato di Split. Inoltre, questo non funzionerà correttamente quando l'input contiene più di uno spazio – Attila
Questo codice non funzionerà, ha troppi bug. 1) splitString deve essere un array. 2) La funzione Split necessita di un array come parametro. 3) Se i primi 2 punti vengono ignorati anche allora restituirà solo l'elemento al 1 ° indice e non il resto della stringa. –
Proprio usare qualcosa di simile in seguito,
string[] stringTokens = originalString.Split(new char[] {' '}, 2, StringSplitOptions.RemoveEmptyEntries);
if(stringTokens.Length >= 2)
newString = stringTokens[1];
Questo è facilmente realizzabile usando Substring
:
string myString = "1. top of steel";
string newString = myString.Substring(myString.IndexOf(' ') + 1);
Questo vi darà una notizia tring a partire dal primo spazio.
'string secondHalf = myString.Split (new char [] {''}, 2) [1];' Utilizzare il metodo Split con una dimensione massima sull'array. – BenVlodgi