Stringverwerking met Apache Commons Lang 3

1. Overzicht

De Apache Commons Lang 3-bibliotheek biedt ondersteuning voor het manipuleren van kernklassen van de Java-API's. Deze ondersteuning omvat methoden voor het omgaan met tekenreeksen, getallen, datums, gelijktijdigheid, objectreflectie en meer.

Deze tutorial biedt niet alleen een algemene inleiding tot de bibliotheek, maar demonstreert ook methoden van de StringUtils klasse die wordt gebruikt voor manipulatie van Draad gevallen.

2. Maven Afhankelijkheid

Om de Commons Lang 3-bibliotheek te gebruiken, haalt u deze gewoon uit de centrale Maven-repository met behulp van de volgende afhankelijkheid:

 org.apache.commons commons-lang3 3.5 

De laatste versie van deze bibliotheek vind je hier.

3. StringUtils

De StringUtils class biedt methoden voor nul-veilige operaties op strings.

Bij veel methoden van deze klasse zijn overeenkomstige methoden gedefinieerd in de klasse java.lang.String, welke zijn niet nul-veilig. Deze sectie zal echter in plaats daarvan focussen op verschillende methoden die geen equivalenten hebben in het Draad klasse.

4. Het bevat elke Methode

De bevat elke methode controleert of een gegeven Draad bevat een willekeurig teken in de opgegeven reeks tekens. Deze set karakters kan worden doorgegeven in de vorm van een Draad of char varargs.

Het volgende codefragment demonstreert het gebruik van twee overbelaste smaken van deze methode met resultaatverificatie:

String string = "baeldung.com"; boolean contain1 = StringUtils.containsAny (string, 'a', 'b', 'c'); boolean contain2 = StringUtils.containsAny (string, 'x', 'y', 'z'); boolean contain3 = StringUtils.containsAny (string, "abc"); boolean contain4 = StringUtils.containsAny (string, "xyz"); assertTrue (ingesloten1); assertFalse (ingesloten2); assertTrue (ingesloten3); assertFalse (ingesloten4);

5. Het bevatIgnoreCase Methode

De bevatIgnoreCase methode controleert of een gegeven Draad bevat een andere Draad op een niet hoofdlettergevoelige manier.

Het volgende codefragment verifieert dat het Tekenreeks "baeldung.com" omvat "BAELDUNG" als hoofdletters en kleine letters worden genegeerd:

String string = "baeldung.com"; boolean contains = StringUtils.containsIgnoreCase (string, "BAELDUNG"); assertTrue (ingesloten);

6. Het countMatches Methode

De counterMatches methode telt hoe vaak een teken of subtekenreeks in een gegeven voorkomt Draad.

Het volgende is een demonstratie van deze methode en bevestigt dat 'W' verschijnt vier keer en "Com" doet twee keer in de Draad"Welkom op www.baeldung.com":

String string = "welkom op www.baeldung.com"; int charNum = StringUtils.countMatches (string, 'w'); int stringNum = StringUtils.countMatches (string, "com"); assertEquals (4, charNum); assertEquals (2, stringNum);

7. Methode toevoegen en voorbereiden

De appendIfMissing en appendIfMissingIgnoreCase methodes voegen een achtervoegsel toe aan het einde van een gegeven Draad als het niet al eindigt op een van de ingevoerde achtervoegsels, respectievelijk hoofdlettergevoelig en ongevoelig.

Evenzo is het prependIfMissing en prependIfMissingIgnoreCase methoden voegen een voorvoegsel toe aan het begin van een gegeven Draad als het niet begint met een van de doorgegeven prefixen.

In het volgende voorbeeld is het appendIfMissing en prependIfMissing methoden worden gebruikt om een ​​achtervoegsel en voorvoegsel toe te voegen aan de Tekenreeks "baeldung.com" zonder dat deze toevoegingen worden herhaald:

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

8. Methode voor het wijzigen van de zaak

De Draad class definieert al methoden om alle karakters van een Draad in hoofdletters of kleine letters. Deze paragraaf illustreert alleen het gebruik van methoden die het geval van a veranderen Draad op andere manieren, waaronder swapCase, kapitaliseren en onkapitaliseren.

De swapCase methode verwisselt het geval van een Draad, hoofdletters veranderen in kleine letters en kleine letters in hoofdletters:

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

De kapitaliseren methode converteert het eerste teken van een gegeven Draad in hoofdletters, waarbij alle resterende tekens ongewijzigd blijven:

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

De onkapitaliseren methode converteert het eerste teken van het gegeven Draad naar kleine letters, waarbij alle resterende tekens ongewijzigd blijven:

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

9. Omkeermethode

De StringUtils class definieert twee methoden voor het omkeren van strings: omgekeerde en reverseDelimited. De omgekeerde methode herschikt alle karakters van een Draad in omgekeerde volgorde, terwijl de reverseDelimited methode herschikt groepen tekens, gescheiden door een opgegeven scheidingsteken.

Het volgende codefragment keert de tekenreeks om "Baeldung" en valideert het resultaat:

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

Met de reverseDelimited methode worden tekens in groepen omgekeerd in plaats van afzonderlijk:

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

10. Het draaien() Methode

De draaien() methode circulair verschuift tekens van een Draad een aantal posities. Het onderstaande codefragment verplaatst alle tekens van de String "baeldung" vier posities naar rechts en verifieert het resultaat:

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

11. Het verschil Methode

De verschil methode vergelijkt twee strings, waarbij de rest van de tweede wordt geretourneerd Draad, te beginnen vanaf de positie waar het anders is dan de eerste. Het volgende codefragment vergelijkt twee Strings: "Baeldung Tutorials" en "Baeldung-cursussen" in beide richtingen en valideert het resultaat:

String tutorials = "Baeldung Tutorials"; String courses = "Baeldung-cursussen"; String diff1 = StringUtils.difference (tutorials, cursussen); String diff2 = StringUtils.difference (cursussen, tutorials); assertEquals ("Cursussen", diff1); assertEquals ("Tutorials", diff2);

12. Conclusie

Deze tutorial introduceert String-verwerking in de Apache Commons Lang 3 en gaat over de belangrijkste API's die we buiten de StringUtils bibliotheek klasse.

Zoals altijd is de implementatie van alle bovenstaande voorbeelden en codefragmenten te vinden in het GitHub-project.


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