Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Validating Strings in Java | Strenge
Introduktion til Java

Validating Strings in Java

Stryg for at vise menuen

Når man arbejder med tekstinput, giver brugerne sjældent præcis det, du forventer — nogle efterlader felter tomme, nogle indtaster kun mellemrum, nogle glemmer påkrævede symboler. Derfor skal vi ofte validere en streng, før vi bruger den i et program — altså kontrollere, om den følger bestemte regler.

Vi har allerede set grundlæggende værktøjer som isEmpty(), length() og contains(), men nu tilføjer vi et par flere, som er særligt nyttige i reelle valideringssituationer.

isBlank()

Et meget almindeligt problem er, når en streng ikke teknisk set er tom, men kun indeholder mellemrum. For eksempel kan en bruger "indtaste" et navn, men kun trykke på mellemrumstasten et par gange. .isBlank() håndterer dette ved at betragte strenge, der kun består af blanktegn, som ugyldigt input. Den returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String customerName = " "; boolean isBlankName = customerName.isBlank(); System.out.println(isBlankName); } }

Selvom customerName ikke er helt tom, indeholder den kun mellemrum — derfor returnerer .isBlank() true, hvilket indikerer, at der ikke er noget meningsfuldt indhold.

startsWith()

Nogle gange skal vi sikre, at en streng følger en bestemt struktur. For eksempel kan det være et krav, at hver ordrekode i vores system starter med "ORD". .startsWith() kontrollerer begyndelsen af strengen og returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String orderCode = "ORD-2459"; boolean validOrderCode = orderCode.startsWith("ORD"); System.out.println(validOrderCode); } }

.startsWith("ORD") kontrollerer de første tre tegn i orderCode — da de matcher, returnerer den true, hvilket bekræfter, at koden følger det forventede format.

endsWith()

Det er også muligt at validere slutningen af en streng — især nyttigt for filnavne eller formater. For eksempel at sikre, at en kvitteringsfil faktisk er en PDF. Den returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String receiptFile = "receipt.pdf"; boolean validReceiptFile = receiptFile.endsWith(".pdf"); System.out.println(validReceiptFile); } }

.endsWith(".pdf") kontrollerer de sidste fire tegn i receiptFile — da de matcher ".pdf", returnerer den true.

Kombineret validering

Reel validering består som regel ikke kun af én kontrol — det er flere regler, der arbejder sammen. For eksempel kan validering af et brugernavn kræve, at det ikke er tomt, har mindst 5 tegn og ikke indeholder mellemrum:

Main.java

Main.java

123456789101112131415
package com.example; public class Main { public static void main(String[] args) { String username = "coffeeMaster"; boolean validUsername = !username.isBlank() && username.length() >= 5 && !username.contains(" "); System.out.println(validUsername); } }

Alle tre betingelser kombineres med && — brugernavnet skal opfylde hver enkelt kontrol for at blive betragtet som gyldigt. "coffeeMaster" er ikke tom, har mere end 5 tegn og indeholder ingen mellemrum, så validUsername er true.

question mark

Hvad kontrollerer .isBlank()?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Validating Strings in Java

Når man arbejder med tekstinput, giver brugerne sjældent præcis det, du forventer — nogle efterlader felter tomme, nogle indtaster kun mellemrum, nogle glemmer påkrævede symboler. Derfor skal vi ofte validere en streng, før vi bruger den i et program — altså kontrollere, om den følger bestemte regler.

Vi har allerede set grundlæggende værktøjer som isEmpty(), length() og contains(), men nu tilføjer vi et par flere, som er særligt nyttige i reelle valideringssituationer.

isBlank()

Et meget almindeligt problem er, når en streng ikke teknisk set er tom, men kun indeholder mellemrum. For eksempel kan en bruger "indtaste" et navn, men kun trykke på mellemrumstasten et par gange. .isBlank() håndterer dette ved at betragte strenge, der kun består af blanktegn, som ugyldigt input. Den returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String customerName = " "; boolean isBlankName = customerName.isBlank(); System.out.println(isBlankName); } }

Selvom customerName ikke er helt tom, indeholder den kun mellemrum — derfor returnerer .isBlank() true, hvilket indikerer, at der ikke er noget meningsfuldt indhold.

startsWith()

Nogle gange skal vi sikre, at en streng følger en bestemt struktur. For eksempel kan det være et krav, at hver ordrekode i vores system starter med "ORD". .startsWith() kontrollerer begyndelsen af strengen og returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String orderCode = "ORD-2459"; boolean validOrderCode = orderCode.startsWith("ORD"); System.out.println(validOrderCode); } }

.startsWith("ORD") kontrollerer de første tre tegn i orderCode — da de matcher, returnerer den true, hvilket bekræfter, at koden følger det forventede format.

endsWith()

Det er også muligt at validere slutningen af en streng — især nyttigt for filnavne eller formater. For eksempel at sikre, at en kvitteringsfil faktisk er en PDF. Den returnerer en boolean.

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { String receiptFile = "receipt.pdf"; boolean validReceiptFile = receiptFile.endsWith(".pdf"); System.out.println(validReceiptFile); } }

.endsWith(".pdf") kontrollerer de sidste fire tegn i receiptFile — da de matcher ".pdf", returnerer den true.

Kombineret validering

Reel validering består som regel ikke kun af én kontrol — det er flere regler, der arbejder sammen. For eksempel kan validering af et brugernavn kræve, at det ikke er tomt, har mindst 5 tegn og ikke indeholder mellemrum:

Main.java

Main.java

123456789101112131415
package com.example; public class Main { public static void main(String[] args) { String username = "coffeeMaster"; boolean validUsername = !username.isBlank() && username.length() >= 5 && !username.contains(" "); System.out.println(validUsername); } }

Alle tre betingelser kombineres med && — brugernavnet skal opfylde hver enkelt kontrol for at blive betragtet som gyldigt. "coffeeMaster" er ikke tom, har mere end 5 tegn og indeholder ingen mellemrum, så validUsername er true.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6
some-alt