PDA

Visualizza la versione completa : [Java] Espressione regolare per *


kateetak
29-07-2004, 10:40
Dovrei eliminare da una stringa il carattere * usando il metodo replaceAll.
Il primo parametro da passare a quel metodo è l'elemento da eliminare. Poichè il carattere * ha un significato particolare nelle espressioni regolari non posso fare semplicemente


a.replaceAll("*", "")


Ho visto che * deve essere usato con \p{*} o qualcosa di simile, ma non riesco a capire come.

netarrow
29-07-2004, 11:03
anche usando replace('*', '') da errori?

kateetak
29-07-2004, 11:08
Usando replace ho un errore di compilazione perchè non accetta il carettere vuoto, dovrei inserire almeno uno spazio vuoto.
Avevo già provato il replace e visto che funzionava ma per coerenza con il resto del codice preferirei usare le espressioni regolari.
Inoltre, vista la documentazione, la mia soluzione mi sembra realizzabile solo che non capisco come.

Prima non avevo detto che l'errore che ottengo usando il replaceAll è a runtime.

kateetak
29-07-2004, 12:29
Sono riuscita ad ottenere quello che volevo usando le espressioni regolari ma la domanda resta aperta visto che la documentazione riporta la possibiltà di usare \p{Punct} che a me non funziona.

La mia soluzione è questa:

ricerca = ricerca.replaceAll(" ", "");

In alternativa si poteva usare una combinazione di cicli e indexOf.

Loading