Regular Expression Mit Punkt und Zahl

Status
Nicht offen für weitere Antworten.

dhachim

Bekanntes Mitglied
Hallo,
ich versuche gerade eine methode zu schreiben, die mir in einem String alles löscht bis auf die "." und Zahlen

in den Ausdrücken nutze ich ja \D für alle nicht Zahlen. Und mit replaceAll() klappt das auch prima.

Code:
	public String removeEnemys(String value) {
		Pattern p = Pattern.compile("\\.");
		Matcher m = p.matcher(value);
		value = m.replaceAll("X");

		return value;
	}

Diese Methode findet alle Punkte und ersetzt sie durch X.


Eingabe soll sein: 123.abc456
Ausgabe soll sein: 123.XXX456


Eingabe soll sein: 123.abc!?§$%456
Ausgabe soll sein: 123.XXXXXXXX456

ich hoffe jemand kann Licht in meinen dunklen Programmierkeller bringen 🙂
 
Code:
public class Test
{

    public static void main(String[] args)
        throws Exception
    {

        System.out.println(removeEnemys("123.abc!?§$%456 "));
    }

    public static String removeEnemys(String value)
    {
        Pattern p = Pattern.compile("[\\D&&[^.]]");
        Matcher m = p.matcher(value);
        value = m.replaceAll("X");

        return value;
    }
}
 
Thank you very much 🙂

Das && auch geht, ist ja seehr praktisch ... da hab ich in die völlig falsche Richtung getestet. Danke
 
unheimlich praktisch ist auch, dass das in der API erklärt ist,
für manche jedenfalls praktisch 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben