: P
Solo una nota, penso che la maggior parte degli algoritmi qui solito controllare se si dispone di 2 o più spazi insieme, quindi potrebbe ottenere uno spazio come seconda parola.
Non so se è il modo migliore, ma ho avuto un po 'di divertimento linqing esso: P (la cosa buona è che permette di scegliere il numero di spazi/parole che si desidera prendere)
var text = "a sdasdf ad a";
int numSpaces = 2;
var result = text.TakeWhile(c =>
{
if (c==' ')
numSpaces--;
if (numSpaces <= 0)
return false;
return true;
});
text = new string(result.ToArray());
ho anche avuto @ risposta di ho e ha reso in un ciclo così si potrebbe ancora usarlo per quante più parole che vuoi: P
string str = "My Test String hello world";
int numberOfSpaces = 3;
int index = str.IndexOf(' ');
while (--numberOfSpaces>0)
{
index = str.IndexOf(' ', index + 1);
}
string result = str.Substring(0, index);
fonte
2010-04-08 17:39:52
Ci sarà sempre solo 1 spazio tra le parole? In caso contrario, la maggior parte delle soluzioni di seguito non sono valide. –