Strengebehandling med Apache Commons Lang 3

1. Oversigt

Apache Commons Lang 3-biblioteket understøtter manipulation af kerneklasser i Java API'erne. Denne support inkluderer metoder til håndtering af strenge, tal, datoer, samtidighed, objektrefleksion og mere.

Ud over at give en generel introduktion til biblioteket demonstrerer denne vejledning metoder til StringUtils klasse, der bruges til manipulation af Snor tilfælde.

2. Maven-afhængighed

For at bruge Commons Lang 3-biblioteket skal du bare trække det fra det centrale Maven-arkiv ved hjælp af følgende afhængighed:

 org.apache.commons commons-lang3 3.5 

Du kan finde den nyeste version af dette bibliotek her.

3. StringUtils

Det StringUtils klasse giver metoder til nul-sikker drift på strenge.

Mange metoder i denne klasse har tilsvarende metoder defineret i klassen java.lang.Streng, som ikke er nul-sikker. Imidlertid vil dette afsnit i stedet fokusere på flere metoder, der ikke har ækvivalenter i Snor klasse.

4. Den indeholderAlle Metode

Det indeholderAlle metode kontrollerer, om en given Snor indeholder et hvilket som helst tegn i det givne sæt tegn. Dette sæt tegn kan sendes i form af en Snor eller char varargs.

Følgende kodefragment demonstrerer brugen af ​​to overbelastede varianter af denne metode med resultatverifikation:

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"); hævder sandt (indeholdt1); hævder Falsk (indeholdt2); assertTrue (indeholdt3); hævder Falsk (indeholdt4);

5. Den indeholderIgnoreCase Metode

Det indeholderIgnoreCase metode kontrollerer, om en given Snor indeholder en anden Snor på en sag ufølsom måde.

Følgende kodefragment verificerer, at Streng “baeldung.com” omfatter “BAELDUNG” når store og små bogstaver ignoreres:

Strengstreng = "baeldung.com"; boolsk indeholdt = StringUtils.containsIgnoreCase (streng, "BAELDUNG"); hævder sandt (indeholdt);

6. Den countMatches Metode

Det counterMatches metode tæller, hvor mange gange et tegn eller et understreng vises i et givet Snor.

Følgende er en demonstration af denne metode, der bekræfter det 'W' vises fire gange og “Com” gør to gange i Snor“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. Tilføjelse og forudgående metode

Det appendIfMissing og appendIfMissingIgnoreCase metoder tilføjer et suffiks til slutningen af ​​en given Snor hvis det ikke allerede ender med nogen af ​​de indleverede suffikser på henholdsvis sags- og ufølsom måde.

Tilsvarende er prependIfMissing og prependIfMissingIgnoreCase metoder afhænger af et præfiks til begyndelsen af ​​en given Snor hvis det ikke starter med nogen af ​​de indsendte præfikser.

I det følgende eksempel er appendIfMissing og prependIfMissing metoder bruges til at tilføje et suffiks og præfiks til Streng “baeldung.com” uden at disse påføringer gentages:

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

8. Sagsændringsmetode

Det Snor klasse definerer allerede metoder til at konvertere alle tegn i en Snor til store eller små bogstaver. Dette underafsnit illustrerer kun brugen af ​​metoder, der ændrer tilfældet med a Snor på andre måder, herunder swapCase, kapitalisere og frigøre kapital.

Det swapCase metode bytter tilfældet med en Snor, ændre store og små bogstaver og små til store bogstaver:

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

Det kapitalisere metode konverterer det første tegn i et givet Snor til store bogstaver og efterlader alle resterende tegn uændrede:

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

Det frigøre kapital metode konverterer det første tegn i det givne Snor til små bogstaver, så alle resterende tegn forbliver uændrede

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

9. Vendemetode

Det StringUtils klasse definerer to metoder til at vende strengene: baglæns og omvendtBegrænset. Det baglæns metode omarrangerer alle tegn i en Snor i den modsatte rækkefølge, mens omvendtBegrænset metode omarrangerer grupper af tegn, adskilt af en specificeret afgrænser.

Følgende kodefragment vender strengen “Baeldung” og validerer resultatet:

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

Med omvendtBegrænset metode vendes tegn i grupper i stedet for individuelt:

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

10. Den rotere() Metode

Det rotere() metode skifter cirkulært tegn i en Snor et antal stillinger. Kodefragmentet nedenfor flytter alle tegn i String “baeldung” fire positioner til højre og verificerer resultatet:

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

11. Den forskel Metode

Det forskel metode sammenligner to strenge og returnerer resten af ​​den anden Snor, startende fra den position, hvor den er forskellig fra den første. Følgende kodefragment sammenligner to Strings: “Baeldung Tutorials” og “Baeldung-kurser” i begge retninger og validerer resultatet:

String tutorials = "Baeldung Tutorials"; Strengkurser = "Baeldung-kurser"; String diff1 = StringUtils.difference (tutorials, courses); String diff2 = StringUtils.difference (kurser, tutorials); assertEquals ("Kurser", diff1); assertEquals ("Tutorials", diff2);

12. Konklusion

Denne vejledning introducerer strengbehandling i Apache Commons Lang 3 og går over de vigtigste API'er, vi kan bruge ud af StringUtils bibliotek klasse.

Som altid kan implementeringen af ​​alle eksempler og kodestykker, der er angivet ovenfor, findes i GitHub-projektet.