Hvordan sjekke om en streng inneholder bare Alphabet Letters i Java

Den mest rett-frem måte å sjekke en Java streng for å se om det samsvarer med et sett krav til gyldige tegn, for eksempel bare alfabetisk eller bare alfanumerisk, ville være å sette opp en for-løkke og sjekke hver enkelt tegnet i strengen for å se om det samsvarer de kjente bokstavene i alfabetet. Heldigvis finnes det en bedre måte ved å bruke et populært verktøy som kalles "regulære uttrykk". Denne industrien standard språk for tekst mønstre er støttet av Java som en måte å utføre avansert mønstergjenkjenning og parsing, og det viser hva som ville være en kjedelig oppgave til noe nesten trivielt.

Bruksanvisning

1 Åpne NetBeans Integrated Development Environment (IDE) som fulgte med din versjon av Java eller andre Java editor du foretrekker.

2 Skriv inn følgende tekst i NetBeans å definere en streng:

String s1 = "Dette er en $ Tring som ikke inneholder 0nly alphab3t1cal charact3rs.";

3 Skriv inn følgende for å definere en regex mønster for å søke etter:

String mønster = "[a-za-Z] *"

Hakeparentesene i en regex mønster lar deg definere et helt sett med gyldige tegn, og "*" sier at du vil ha så mange av disse tegnene som du kan få. I dette tilfelle blir hele alfabetet, både store og små bokstaver, definert som gyldige tegn, mens tall og skilletegn er ikke.

4 Skriv inn følgende kommando for å se om de to kampen:

s1.matches (mønster);

Dette vil returnere "false", siden den opprinnelige strengen inneholder mange tall og tegnsettingssymboler.

Hint

  • Du kan legge til numre i mønster av gyldige tegn ved å plassere "0-9" i hakeparenteser i trinn 3. tegnsetting er litt vanskeligere, men siden de fleste skilletegn har en spesiell betydning i regex språk. Dessverre, regex, som Java i seg selv, er et komplekst språk som tar mye tid og krefter på å lære. Du kan lese mer om det ved første ressursen.