abfrage für wert = text

tinella

Erfahrenes Mitglied
hallo meine lieben

ich hab' in meinem programm so 'ne abfrage laufen.. dh, ich frage ab ob sich am anfang von einem bestimmten String zB ein Dollarzeichen befindet.

-->

//Dollar
if (apvData.getApvNr().indexOf("$")== 0)
{
resultList.add("APVItemCode." + apvData);
}

//Number or text
if (apvData.getApvNr().indexOf(int || char )== 0)
{
resultList.add("APVItemCode.I" + apvData);
}


ich möcht folgendes abfragen: "wenn der string der ausgelesen wird == eine ganze positive Zahl oder normaler text ist, dann füge einen anderen bestimmtem String (hier im beispiel "APVItemCode.I" vorne hin"!
beim dollarzeichen geht das zb, da muss ich nur "$" eingeben, aber bei zahlen und text geht das nicht, bzw., könnte mir jmd kurz notieren, was ich als parameterwert eingeben muss?



dankeschön
 
Hi wie wäre es mit der Funktion bool String.matches(String regex); und regulären Ausdrücken?

Code:
if(apvData.getApvNr().substring(0,1).matches("[a-z|A-Z]"))
                   System.out.println("Word begins with a letter");

Gruß

RedWing
 
Dasselbe machst du dann einfach für Zahlen sprich statt [a-z| A-Z] einfach [0-9] eintragen.

Bsp:

if(apvData.getApvNr().substring(0,1).matches("[0-9]"))
System.out.println("String begins with a number");

So kannst du dann deinen String zerlegen.

Für weitere Details (sprich genaue anzahl von Buchstaben/Zahlen abprüfen, nur bestimmte buchstaben/zahlen zulassen, etc., etc.) such in google nach "Regualar Expressions" es hier auszuführen würde das ganze forum sprengen ;)

Oder such hier in unserem Forum nach gezielten antworten.....


Grüsse
Torsten
 
Ach übrigens, das substring kann man sich sparen:

Code:
if(apvData.getApvNr().matches("[a-z|A-Z|0-9]*"))
                   System.out.println("Word begins with a letter or a number");

Gruß

RedWing
 
Zurück