Eliminar la primera palabra de una cadena en Java

¿Cuál es la mejor manera de eliminar la primera palabra de una cadena en Java?

Si tengo

String originalString = "This is a string";

Quiero quitarle la primera palabra y, en efecto, formar dos cadenas –

 removedWord = "This" originalString = "is a string; 

Sencillo.

  String o = "This is a string"; System.out.println(Arrays.toString(o.split(" ", 2))); 

Salida:

 [This, is a string] 

EDITAR:


En la línea 2 a continuación, los valores se almacenan en la matriz arr . Accede a ellos como matrices normales.

  String o = "This is a string"; String [] arr = o.split(" ", 2); arr[0] // This arr[1] // is a string 

Esta definitivamente será una buena solución.

  String originalString = "This is a string"; originalString =originalString.replaceFirst("This ", ""); 

Puedes usar substring

 removedWord = originalString.substring(0,originalString.indexOf(' ')); originalString = originalString.substring(originalString.indexOf(' ')+1); 

Para una respuesta inmediata puedes usar esto:

 removeWord = originalString.substring(0,originalString.indexOf(' ')); originalString = originalString.substring(originalString.indexOf(' ')); 

Prueba esto usando un índice var, creo que es bastante eficiente:

 int spaceIdx = originalString.indexOf(" "); String removedWord = originalString.substring(0,spaceIdx); originalString = originalString.substring(spaceIdx); 

Antes de JDK 1.7, el uso del siguiente método puede ser más eficiente, especialmente si está utilizando una cadena larga (consulte este artículo ).

 originalString = new String(originalString.substring(spaceIdx)); 

Puede comprobar dónde está el primer carácter de espacio y la cadena separada.

 String full = "Sample Text"; String cut; int pointToCut = full.indexOf( ' '); if ( offset > -1) { cut = full.substring( space + 1); } 
 String str = "This is a string"; String str2=str.substring(str.indexOf(" ")); String str3=str.replaceFirst(str2, ""); 

String’s replaceFirst y subcadena

También puedes usar esta solución:

 static String substringer(String inputString, String remove) { if (inputString.substring(0, remove.length()).equalsIgnoreCase(remove)) { return inputString.substring(remove.length()).trim(); } else { return inputString.trim(); } } 

Ejemplo: substringer (“Esto es una cadena”, “Este”);

Puedes usar la clase StringTokenizer.