Quitar el ultimo token de un String

En un pequeño proyecto que tengo me surgió la necesidad de quitar el ultimo token de una frase por ejemplo: " dame el id de cindy" el resultado seria "dame el id de", también quita los espacios en blanco inicesarios.

 

Segunda versión:

gracias a: ezamudio

 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de rodrigo salado anaya

Quitar espacios en blaco inecesarios de un String.

para quitar los espacios de mas en un String uso esto.

 

Imagen de ezamudio

StringBuilder

En este caso te conviene usar StringBuilder en vez de StringBuffer, ya que lo usas sólo dentro del método y por lo tanto no tienes problemas de concurrencia.

Sin embargo no entendí para qué lo usas; al final no lo conviertes a String ni haces nada con ese objeto; si quitas esas dos lineas no pasa nada.

Imagen de rodrigo salado anaya

gracias.

cierto. me falto toString. y gracias por la sugerencia, deja me la investigo.

Imagen de ezamudio

Versión más eficiente

Como ejercicios son interesantes, pero no sería mucho más eficiente hacer esto?

String x = cadena.trim();
int espacio = x.lastIndexOf(' ');
if (espacio > 0) {
return x.substring(0, espacio);
} else {
return x;
}

Imagen de retlaw

ayuda

me podrias ayudar tengo que realizar un proyecto que identifique las palabras de un programa como ejemplo:
si el programa (lectura)contiene la palabra Import hay que hacer una lista que identifique la palabra import y que de su significado

Aplica el dos poruno, toma

Aplica el dos poruno, toma dos espacios y cambialospor uno!