¿Cómo recorto los espacios interiores dejando solo un espacio teniendo en cuenta el rendimiento?La mejor forma de recortar espacios en una cadena
Input: AA BB Output: AA BB Input: A A Output: A A
¿Cómo recorto los espacios interiores dejando solo un espacio teniendo en cuenta el rendimiento?La mejor forma de recortar espacios en una cadena
Input: AA BB Output: AA BB Input: A A Output: A A
System.out.println(" AA BB".replaceAll("\\s+", " ").trim());
Salida:
Nota: A diferencia de las otras soluciones aquí, esto también sustituye a una sola pestaña con un solo espacio. Si usted no tiene ningún pestañas se pueden utilizar "{2}" en lugar que será aún más rápido:
System.out.println(" AA BB".replaceAll(" {2,}", " ").trim());
sustituir a dos o más espacios "\\s{2,}"
por un único espacio " "
y hacer un trim()
después para eliminar de los principales y espacios finales a medida que mostramos en la primera ejemplo.
output = input.replaceAll("\\s{2,}", " ").trim();
"Hello a a g g a gag gs [email protected]".replaceAll("[ ]+{2}", " ")).trim();
s = s.replaceAll("\\s+", " ").trim();
Hay respuestas correctas aquí, por ejemplo:
s = s.replaceAll("\\s+", " ").trim();
Pero Creo que también es importante elegir la pregunta correcta. En lugar de preguntar acerca de cómo recortar un String
usando expresiones regulares, ¿por qué no solo pregunta por el recorte del String
y permite que las personas que responden te muestren la mejor estrategia?
Puede haber mejores formas de colapsar espacios que utilizar una expresión regular. Ciertamente hay otras formas.
La pregunta ha sido editada. ¿Podrías por favor mostrarme una mejor manera? Gracias. –
No quise dar a entender que hubiera una manera indiscutiblemente mejor. Si supiera uno, sin duda le habría dicho sin insistir en que primero se cambie la pregunta. Solo quería señalar que era posible que estuviera limitando las respuestas basadas en la suposición de la estrategia correcta. Diría que a menos que tengas razones de rendimiento muy fuertes para querer experimentar con alternativas, la ruta de expresiones regulares es probablemente lo que yo haría. – roryparle
Gracias un montón ... :) –