web-dev-qa-db-fra.com

Fractionner la chaîne au premier espace

J'essaie de scinder une chaîne à la première case et de ne garder que la 2ème moitié. Donc, si l'entrée était "1. dessus d'acier", la sortie serait "dessus d'acier". Je travaille avec quelques exemples différents ici et je ne peux pas le faire fonctionner. Pensées? Merci.

16
topofsteel
var myString = "1. top of steel";
var newString = myString.Remove(0, myString.IndexOf(' ') + 1);
31
Daniel Bidulock

Ceci est facilement accompli en utilisant Substring:

string myString = "1. top of steel";
string newString = myString.Substring(myString.IndexOf(' ') + 1);

Cela vous donnera une nouvelle chaîne commençant après le premier espace.

19
jzworkman

Il suffit d'utiliser quelque chose comme suivre,

string[] stringTokens = originalString.Split(new char[] {' '}, 2, StringSplitOptions.RemoveEmptyEntries);
if(stringTokens.Length >= 2)
    newString = stringTokens[1];
3
Beenish Khan

Vous pouvez juste faire:

string myString = "1. top of steel"; //replace this with the input
string resultString = myString.IndexOf(' ') > -1
    ? myString.Substring(myString.IndexOf(' ') + 1)
    : myString;
1
mattytommo