User Tools

Site Tools


linuxbog.old:java:java-i18n-working-with-text
Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31
forrige Kapitel 24. Internationale programmer næste

24.7. Tekster og tegn

Java tilbyder klasser til at

  • Analysere tegn
  • Sammenligne strenge
  • Finde text boundaries i sætninger
  • Konvertere non-unicode tekst

24.7.1. Analyse af tegn

Følgende kode duer ikke:
char ch;

if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
        //ch is a letter

if (ch >= '0' && ch <= '9') 
        //ch is a digit

if (ch == ' ' || ch == '\n' || ch == '\t') 
        //ch is a whitespace

Benyt altid metoderne på klassen Character:
isDigit
isLetter
isLetterOrDigit
isLowerCase / isUpperCase
isSpaceChar
isDefined

24.7.2. Sammenligning af strenge

Sikker sammenligning af strenge gøres vha. metoden compare() på klasssen Collator.

Sammenligning kan ikke gøres sikkert med String.compareTo(), idet den
sammenligner binært på Unicode-niveau, hvilket ikke altid stemmer
overens med et sprogs tegn-orden.

Således opnås en instans af Collator for en given Locale:
Collator myCol = Collator.getInstance(aLocale);

To strenge sammenlignes således:
myCol.compare(firstString, secondString);

compare() returnerer -1, 0 el. 1, afhængig af om firstString er
hhv. mindre end, lig med el. større end secondString.

24.7.3. Analyse af grænser i tekst

Klassen BreakIterator gør det muligt at finde grænser (boundaries) i
form af positionsnumre i en tekst for en given Locale på følgende
niveauer:

tegn
ord
sætning
linje

Ved instantieringen af BreakIterator invokeres én af følgende
klassemetoder til at konstruere instansen med den ønskede egenskab:

getCharacterInstance
getWordInstance
getSentenceInstance
getLineInstance
Eksempel:

BreakIterator bi = BreakIterator.getWordInstance(aLocale);

forrige hjem næste
Formatering af tal og beløb op Revisionshistorie for bogen
linuxbog.old/java/java-i18n-working-with-text.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.