Bueno, la implementación ingenuo que sería dividir simplemente en cada espacio y tomar el último elemento.
La división se realiza utilizando un método de instancia en el objeto String, y el último de los elementos se puede recuperar utilizando la indexación de matriz o utilizando el operador LINQ Last.
Resultado final:
string lastWord = input.Split(' ').Last();
Si usted no tiene LINQ, lo haría en dos operaciones:
string[] parts = input.Split(' ');
string lastWord = parts[parts.Length - 1];
Mientras que esto funcionaría para esta cadena, no podría funcionar para una cadena ligeramente diferente, por lo que tendrá que descubrir cómo cambiar el código en consecuencia o publicar todas las reglas.
string input = ".... ,API";
Aquí, la coma sería parte de la "palabra".
Además, si el primer método de obtención de la palabra es correcta, es decir, todo después de que el último espacio, y la cadena se adhiere a las siguientes reglas:
- Will siempre contienen al menos un espacio
- no termina con uno o más espacios (en el caso de esta se puede recortar)
continuación, puede utilizar este código que se asigne un menor número de objetos en el montón para GC de preocuparse más tarde:
string lastWord = input.Substring(input.LastIndexOf(' ') + 1);
Sin embargo, si necesita considerar comas, puntos y comas, el primer método que utiliza división es el mejor; hay menos cosas de las que hacer un seguimiento.
Es "Strip", una palabra, o es la primera palabra "Gaza"? –
¿Cuál es tu patrón? ¿Las últimas 3 letras? ¿Lo último apareció después de +? ¿Lo último aparece después del último operador? – xandy