Java:
Sette stor bokstav i en streng
Hvordan:
Java sitt standardbibliotek tilbyr ikke en direkte metode for å sette stor bokstav i hele strenger i ett steg, men du kan oppnå dette med en kombinasjon av innebygde metoder. For mer sofistikerte behov tilbyr tredjepartsbiblioteker som Apache Commons Lang enkle løsninger.
Bruke Javas innebygde metoder
For å sette stor bokstav i en streng uten eksterne biblioteker, kan du dele strengen opp i ord, sette stor bokstav i den første bokstaven av hvert ord, og deretter sette dem sammen igjen. Her er en enkel tilnærming:
public class CapitalizeString {
public static void main(String[] args) {
String tekst = "hallo, verden!";
String kapitalisertTekst = kapitaliserOrd(tekst);
System.out.println(kapitalisertTekst); // Skriver ut: "Hallo, Verden!"
}
public static String kapitaliserOrd(String str) {
char[] tegn = str.toLowerCase().toCharArray();
boolean funnet = false;
for (int i = 0; i < tegn.length; i++) {
if (!funnet && Character.isLetter(tegn[i])) {
tegn[i] = Character.toUpperCase(tegn[i]);
funnet = true;
} else if (Character.isWhitespace(tegn[i]) || tegn[i]=='.' || tegn[i]=='\'') {
funnet = false;
}
}
return String.valueOf(tegn);
}
}
Dette kodeutdraget konverterer hele strengen til små bokstaver, og så itererer gjennom hver karakter, og setter stor bokstav i den første bokstaven i hvert ord. Det tar hensyn til mellomrom, punktum, og apostrofer som ordseparatorer.
Bruke Apache Commons Lang
Apache Commons Lang-biblioteket tilbyr en mer elegant løsning med metoden WordUtils.capitalizeFully()
, som håndterer ulike kanttilfeller og skilletegn for deg:
// Legg til avhengighet: org.apache.commons:commons-lang3:3.12.0
import org.apache.commons.text.WordUtils;
public class CapitalizeString {
public static void main(String[] args) {
String tekst = "hallo, verden!";
String kapitalisertTekst = WordUtils.capitalizeFully(tekst);
System.out.println(kapitalisertTekst); // Skriver ut: "Hallo, Verden!"
}
}
For å bruke denne metoden må du legge til Apache Commons Lang-biblioteket i prosjektet ditt. Denne metoden i biblioteket setter ikke bare stor bokstav i den første bokstaven i hvert ord, men konverterer også resten av bokstavene i hvert ord til små bokstaver, noe som sikrer et konsistent mønster med stor bokstav gjennom hele strengen.