¿Cómo encontrar la última palabra de una cadena

JellybeanNewbie:

Estoy intentando crear un método que devuelve la última palabra de una cadena pero estoy teniendo algunos problemas de escribirlo.

Estoy tratando de hacerlo buscando el último espacio en blanco en la cadena y el uso de una subcadena para encontrar la palabra. Esto es lo que tengo hasta el momento:

    String strSpace=" ";
    int Temp; //the index of the last space
    for(int i=str.length()-1; i>0; i--){
        if(strSpace.indexOf(str.charAt(i))>=0){
            //some code in between that I not sure how to write
        }
    }
}

Yo estoy empezando en Java, por lo que no sé muchas de las partes complicadas de la lengua. Sería muy apreciado si alguien podría ayudar a encontrar una manera simple de resolver este problema. ¡Gracias!

gendarme:

String#lastIndexOfy String#substringson sus amigos aquí.

chars en Java se puede convertir directamente a ints, lo que vamos a utilizar para encontrar el último espacio. A continuación, vamos a simplemente subcadena a partir de ahí.

String phrase = "The last word of this sentence is stackoverflow";
System.out.println(phrase.substring(phrase.lastIndexOf(' ')));

Esto imprime el propio carácter de espacio también. Para deshacerse de eso, sólo se incrementa el índice en el que la subcadena por uno.

String phrase = "The last word of this sentence is stackoverflow";
System.out.println(phrase.substring(1 + phrase.lastIndexOf(' ')));

Si no desea utilizar String#lastIndexOf, se puede recorrer la cuerda y la subcadena que en cada espacio hasta que no tiene ninguna.

String phrase = "The last word of this sentence is stackoverflow";
String subPhrase = phrase;
while(true) {
    String temp = subPhrase.substring(1 + subPhrase.indexOf(" "));
    if(temp.equals(subPhrase)) {
        break;
    } else {
        subPhrase = temp;
    }
}
System.out.println(subPhrase);

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=177035&siteId=1
Recomendado
Clasificación