Strengbehandling med Apache Commons Lang 3

1. Oversikt

Apache Commons Lang 3-biblioteket gir støtte for manipulering av kjerneklasser i Java API-ene. Denne støtten inkluderer metoder for håndtering av strenger, tall, datoer, samtidighet, objektrefleksjon og mer.

I tillegg til å gi en generell introduksjon til biblioteket, demonstrerer denne veiledningen metoder for StringUtils klasse som brukes til manipulering av String tilfeller.

2. Maven avhengighet

For å bruke Commons Lang 3-biblioteket, er det bare å trekke det fra det sentrale Maven-arkivet ved å bruke følgende avhengighet:

 org.apache.commons commons-lang3 3.5 

Du finner den nyeste versjonen av dette biblioteket her.

3. StringUtils

De StringUtils klasse gir metoder for null-sikker operasjon på strenger.

Mange metoder i denne klassen har tilsvarende metoder definert i klassen java.lang.Streng, som ikke er det null-sikker. Imidlertid vil denne delen i stedet fokusere på flere metoder som ikke har ekvivalenter i String klasse.

4. Den inneholderAlle Metode

De inneholderAlle metoden sjekker om en gitt String inneholder hvilket som helst tegn i det gitte settet med tegn. Dette settet med tegn kan sendes i form av en String eller røye varargs.

Følgende kodefragment demonstrerer bruken av to overbelastede smaker av denne metoden med resultatverifisering:

Strengstreng = "baeldung.com"; boolsk contain1 = StringUtils.containsAny (streng, 'a', 'b', 'c'); boolsk contain2 = StringUtils.containsAny (streng, 'x', 'y', 'z'); boolsk contain3 = StringUtils.containsAny (streng, "abc"); boolsk contain4 = StringUtils.containsAny (streng, "xyz"); påstå sann (inneholdt1); assertFalske (inneholdt2); påstå sann (inneholdt3); assertFalse (contain4);

5. Den inneholderIgnoreCase Metode

De inneholderIgnoreCase metoden sjekker om en gitt String inneholder en annen String på en sak ufølsom måte.

Følgende kodefragment bekrefter at String “baeldung.com” omfatter “BAELDUNG” når store og små bokstaver blir ignorert:

Strengstreng = "baeldung.com"; boolsk inneholdt = StringUtils.containsIgnoreCase (streng, "BAELDUNG"); påstå sann (inneholdt);

6. Den countMatches Metode

De counterMatches metoden teller hvor mange ganger et tegn eller et understreng vises i et gitt String.

Følgende er en demonstrasjon av denne metoden som bekrefter det ‘W’ vises fire ganger og “Com” gjør to ganger i String“Velkommen til www.baeldung.com”:

Strengstreng = "velkommen til www.baeldung.com"; int charNum = StringUtils.countMatches (streng, 'w'); int stringNum = StringUtils.countMatches (streng, "com"); assertEquals (4, charNum); assertEquals (2, stringNum);

7. Tilleggs- og forberedelsesmetode

De appendIfMissing og appendIfMissingIgnoreCase metoder legger til et suffiks til slutten av et gitt String hvis det ikke allerede ender med noen av de innleverte suffiksene på henholdsvis saks- og ufølsom måte.

Tilsvarende prependIfMissing og prependIfMissingIgnoreCase metoder avhenger av et prefiks til begynnelsen av et gitt String hvis det ikke starter med noen av de innleverte prefiksene.

I det følgende eksemplet, appendIfMissing og prependIfMissing metoder brukes til å legge til et suffiks og prefiks til String “baeldung.com” uten at disse påføringene blir gjentatt:

Strengstreng = "baeldung.com"; String stringWithSuffix = StringUtils.appendIfMissing (string, ".com"); String stringWithPrefix = StringUtils.prependIfMissing (streng, "www."); assertEquals ("baeldung.com", stringWithSuffix); assertEquals ("www.baeldung.com", stringWithPrefix);

8. Saksendringsmetode

De String klasse definerer allerede metoder for å konvertere alle tegn i en String til store eller små bokstaver. Dette underavsnittet illustrerer bare bruken av metoder som endrer tilfelle av a String på andre måter, inkludert swapCase, kapitalisere og ikke kapitalisere.

De swapCase metoden bytter tilfelle av en Streng, endre store bokstaver til små og små bokstaver:

String originalString = "baeldung.COM"; String swappedString = StringUtils.swapCase (originalString); assertEquals ("BAELDUNG.com", swappedString);

De kapitalisere metoden konverterer det første tegnet i et gitt String til store bokstaver, slik at alle gjenværende tegn blir uendret:

String originalString = "baeldung"; Streng kapitalisertString = StringUtils.capitalize (originalString); assertEquals ("Baeldung", capitalizedString);

De ikke kapitalisere metoden konverterer det første tegnet i det gitte String til små bokstaver, slik at alle gjenværende tegn blir uendret:

String originalString = "Baeldung"; String uncapitalizedString = StringUtils.uncapitalize (originalString); assertEquals ("baeldung", uncapitalizedString);

9. Reverseringsmetode

De StringUtils klasse definerer to metoder for reversering av strenger: omvendt og omvendt avgrenset. De omvendt metoden omorganiserer alle tegn i en String i motsatt rekkefølge, mens omvendt avgrenset metoden omorganiserer grupper av tegn, atskilt med en spesifisert skilletegn.

Følgende kodefragment reverserer strengen “Baeldung” og validerer utfallet:

String originalString = "baeldung"; String reversedString = StringUtils.reverse (originalString); assertEquals ("gnudleab", reversedString);

Med omvendt avgrenset metode, blir tegn reversert i grupper i stedet for individuelt:

String originalString = "www.baeldung.com"; String reversedString = StringUtils.reverseDelimited (originalString, '.'); assertEquals ("com.baeldung.www", reversedString);

10. The rotere() Metode

De rotere() metoden skifter sirkulært tegn på en String en rekke stillinger. Kodefragmentet nedenfor flytter alle tegn i String “baeldung” fire posisjoner til høyre og verifiserer resultatet:

String originalString = "baeldung"; String rotatedString = StringUtils.rotate (originalString, 4); assertEquals ("dungbael", rotatedString);

11. The forskjell Metode

De forskjell metoden sammenligner to strenger, og returnerer resten av den andre Streng, starter fra posisjonen der den er forskjellig fra den første. Følgende kodefragment sammenligner to Strenger: “Baeldung Tutorials” og “Baeldung Courses” i begge retninger og validerer utfallet:

String tutorials = "Baeldung Tutorials"; Strengkurs = "Baeldung Courses"; String diff1 = StringUtils.difference (tutorials, courses); String diff2 = StringUtils.difference (kurs, opplæringsprogrammer); assertEquals ("Kurs", diff1); assertEquals ("Tutorials", diff2);

12. Konklusjon

Denne opplæringen introduserer strengbehandling i Apache Commons Lang 3 og går over de viktigste API-ene vi kan bruke ut av StringUtils bibliotek klasse.

Som alltid kan implementeringen av alle eksemplene og kodebiter gitt ovenfor bli funnet i GitHub-prosjektet.


$config[zx-auto] not found$config[zx-overlay] not found