# Auf Dezimalzeichen und Alphanumerische Zeichen prüfen



## gast03 (21. Dez 2007)

Wie prüfe ich ob ein String nur aus Dezimalzeichen besteht?

Und wie prüfe ich ob ein String aus alphanumerischen Zeichen besteht?


----------



## mimo (21. Dez 2007)

Hallo,

also du kannst entweder das CharArray prüfen oder fallst es für dich ausreicht versuchst du den String in einen entsprechenden Typ umzuwandeln und fängst die Exception ab. (bei Exception dann @return false) 

Gruß

MIMO


----------



## Verjigorm (21. Dez 2007)

Das ganze nennt sich RegEx (reguläre Ausdrücke)
Foren-FAQ und google sind dein Freund 




			
				gast03 hat gesagt.:
			
		

> Wie prüfe ich ob ein String nur aus Dezimalzeichen besteht?


Ich nehme mal an, du meinst damit "," und "."

```
String dezimal = ".,.,,,.";
	String dezimal2 = ".";
	String dezimal3 = ",";
	   
	System.out.println(dezimal.matches("[,.]*"));
	System.out.println(dezimal2.matches("[,.]*"));
	System.out.println(dezimal3.matches("[,.]*"));
```




			
				gast03 hat gesagt.:
			
		

> Und wie prüfe ich ob ein String aus alphanumerischen Zeichen besteht?




```
String alphanum = "1a2b3c4d5e";
String not_alphanum = "1a2b3c_.+#4d5e";

System.out.println(alphanum.matches("[a-zA-Z0-9]*"));
System.out.println(not_alphanum.matches("[a-zA-Z0-9]*"));
```


----------



## gast03 (21. Dez 2007)

Ich habe jeweils einen String, der eine besteht nur aus Zahlen (Beispiel: 6543) - da muss ich prüfen, ob das auch wirklich nur Dezimalzahlen sind.

Und der zweite String kann aus Zahlen und Buchstaben bestehen (Beispiel AA89BB oder 88888) - da muss ich prüfen, dass da auch wirklich nur Zahlen und Ziffern drin sind.


----------



## Guest (21. Dez 2007)

bei den Dezimalzahlen benutzt man dann nur ".matches("[0-9]*") ??


----------



## Backwardsman (21. Dez 2007)

oder halt auf die "altmodische" (aber dafür auch versionsunabhängige) art  ;-)

```
public static boolean isAlphanumeric(String s) {
    char c;
    for (int i=0; i<s.length(); i++) {
        c = s.charAt(i);
        if (c < 48 || c > 122) return false;
        else if (c < 65 && c > 57) return false;
        else if (c < 97 && c > 90) return false;
    }
    return true;
}
```

bzw für ziffern einfach nur:

```
public static boolean isNumeric(String s) {
    char c;
    for (int i=0; i<s.length(); i++) {
        c = s.charAt(i);
        if (c < 48 || c > 57) return false;
    }
    return true;
}
```


----------



## Verjigorm (21. Dez 2007)

> Ich habe jeweils einen String, der eine besteht nur aus Zahlen (Beispiel: 6543) - da muss ich prüfen, ob das auch wirklich nur Dezimalzahlen sind.
> 
> Und der zweite String kann aus Zahlen und Buchstaben bestehen (Beispiel AA89BB oder 88888) - da muss ich prüfen, dass da auch wirklich nur Zahlen und Ziffern drin sind.



alphanumerischer test steht oben bei mir 
und NUR Zahlen wie 6543 (wieso sagst du Dezimalzahlen dazu???) machste mit .matches("[\\d]*") oder .matches("[0-9]*")


----------

