Come tagliare gli spazi all'interno lasciando solo uno spazio prendendo in considerazione le prestazioni?Il modo migliore per tagliare gli spazi in una stringa
Input: AA BB Output: AA BB Input: A A Output: A A
Come tagliare gli spazi all'interno lasciando solo uno spazio prendendo in considerazione le prestazioni?Il modo migliore per tagliare gli spazi in una stringa
Input: AA BB Output: AA BB Input: A A Output: A A
System.out.println(" AA BB".replaceAll("\\s+", " ").trim());
uscita:
Nota: A differenza di altre soluzioni qui, questa sostituisce anche una singola scheda con un singolo spazio. Se non si dispone di schede è possibile utilizzare "{2,}", invece, che sarà ancora più veloce:
System.out.println(" AA BB".replaceAll(" {2,}", " ").trim());
sostituire due o più spazi "\\s{2,}"
da un singolo spazio " "
e fare un trim()
poi a sbarazzarsi del spazi iniziali e finali, come avete dimostrato nel 1 ° esempio.
output = input.replaceAll("\\s{2,}", " ").trim();
"Hello a a g g a gag gs [email protected]".replaceAll("[ ]+{2}", " ")).trim();
s = s.replaceAll("\\s+", " ").trim();
Non ci sono risposte corrette qui, ad esempio:
s = s.replaceAll("\\s+", " ").trim();
Ma Penso che sia anche importante scegliere la domanda corretta. Invece di chiedere di tagliare un String
usando le espressioni regolari, perché non chiedere semplicemente di tagliare lo String
e consentire alle persone che rispondono di mostrarti la migliore strategia?
Potrebbero esserci modi migliori per comprimere gli spazi piuttosto che usare un'espressione regolare. Ci sono certamente altri modi.
La domanda è stata modificata. Ora potresti per favore mostrarmi un modo migliore? Grazie. –
Non volevo insinuare che esistesse un modo indiscutibilmente migliore. Se ne avessi saputo uno certamente te lo avrei detto senza insistere sul fatto che la domanda fosse cambiata per prima. Volevo solo sottolineare che era possibile che tu stessi limitando le risposte sulla base di un'ipotesi della strategia corretta. Direi che, a meno che non si abbiano motivi di prestazione molto forti per voler sperimentare alternative, la via delle regex è probabilmente quello che farei. – roryparle
Grazie mille .. :) –