Si tienes múltiples espacios dentro de una cadena en Java, ¿cómo los condensas en un solo espacio entre palabras?

Si una cadena tiene múltiples espacios entre palabras:

The cat sat on the mat. 

¿Cómo se hace un espacio único?

 The cat sat on the mat. 

Intenté esto pero no funcionó:

 myText = myText.trim().replace(" ", " "); 

Con una expresión regular:

 myText.trim().replaceAll("\\s+", " "); 

Esto dice: “recorte el texto y luego reemplace todas las apariciones de uno o más de un carácter de espacio en blanco (incluyendo tabs, saltos de línea, etc.) por un solo espacio en blanco”

Consulte también java.util.regex.Pattern para obtener más detalles sobre las expresiones regulares de Java:

http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

Todo lo que necesita:

 myText.replaceAll("\\s++", " "); 

De acuerdo con las especificaciones del método replaceAll de la clase String : http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String )

y especificaciones de la clase de Pattern en java (intente con ctrl-F para “espacios en blanco” y “++”): http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern .html

En mi opinión, es mucho mejor abrir esas páginas y echar un vistazo por ti mismo, y luego simplemente copiar un fragmento.