ho bisogno di tagliare una stringa in Java in modo che:String trim in Java, mentre conserva piena parola
Il quick brown fox salta sul cane laz.
diventa
La rapida marrone ...
Nell'esempio di cui sopra, mi sto taglio a 12 caratteri. Se mi basta usare sottostringa vorrei avere:
La rapida br ...
Ho già un metodo per fare questo usando stringa, ma volevo sapere che cosa è il più veloce (più efficiente) modo di farlo perché una pagina potrebbe avere molte operazioni di taglio.
L'unico modo che posso pensare fuori è quello di dividere la stringa su spazi e rimetterlo insieme fino a quando la sua lunghezza passa la lunghezza del dato. C'è un altro modo? Forse un modo più efficiente in cui posso usare lo stesso metodo per fare un trim "soft" dove conservo l'ultima parola (come mostrato nell'esempio sopra) e un hard trim che è praticamente una sottostringa.
Grazie,
Come 'StringBuffer' aiuta le prestazioni qui? Non c'è alcun motivo per cui 'sottostringa',' indexOf' e 'length' sarebbero più veloci su' StringBuffer' che su 'String'. –
Mi permetta di chiarire, il richiedente ha detto che era tokenizing e quindi rimettere insieme la stringa. Ogni volta che aggiunge un nuovo token alla stringa, l'intera stringa viene distrutta e ricreata. Per le stringhe lunghe questa operazione è molto più costosa dell'uso di un 'StringBuffer'. Anche se sono d'accordo, la differenza di prestazioni è probabilmente trascurabile considerando che il 'StringBuffer' è stato creato e quando torniamo creiamo effettivamente una stringa almeno 3 volte (sottostringa, punti di aggiunta, escape [, trim]). – Ali
Il problema è che nel tuo codice non stai aggiungendo nulla a 'StringBuffer'. –