Spracovanie reťazcov s Apache Commons Lang 3

1. Prehľad

Knižnica Apache Commons Lang 3 poskytuje podporu pre manipuláciu s hlavnými triedami rozhraní Java API. Táto podpora obsahuje metódy na manipuláciu s reťazcami, číslami, dátumami, súbežnosťou, zrkadlením objektov a ďalšie.

Okrem všeobecných úvodov do knižnice tento tutoriál demonštruje metódy StringUtils triedy, ktorá sa používa na manipuláciu s String inštancie.

2. Závislosť od Maven

Ak chcete používať knižnicu Commons Lang 3, jednoducho ju vytiahnite z centrálneho úložiska Maven pomocou nasledujúcej závislosti:

 org.apache.commons commons-lang3 3.5 

Najnovšiu verziu tejto knižnice nájdete tu.

3. StringUtils

The StringUtils trieda poskytuje metódy pre nulový-bezpečné operácie s reťazcami.

Mnoho metód tejto triedy má v triede definované zodpovedajúce metódy java.lang.String, ktoré nie sú nulový-bezpečný. Táto časť sa však namiesto toho zameria na niekoľko metód, ktoré nemajú ekvivalentné hodnoty v String trieda.

4. The obsahujeAkýkoľvek Metóda

The obsahujeAkýkoľvek metóda kontroluje, či je daná String obsahuje ľubovoľný znak z danej sady znakov. Túto sadu znakov je možné odovzdať vo forme a String alebo char varargs.

Nasledujúci fragment kódu demonštruje použitie dvoch preťažených chutí tejto metódy s overením výsledku:

Reťazcový reťazec = "baeldung.com"; boolean contains1 = StringUtils.containsAny (string, 'a', 'b', 'c'); boolean contains2 = StringUtils.containsAny (reťazec, 'x', 'y', 'z'); boolean contains3 = StringUtils.containsAny (string, "abc"); boolean contains4 = StringUtils.containsAny (reťazec, "xyz"); assertTrue (obsiahnuté1); assertFalse (obsiahnuté2); assertTrue (obsiahnuté3); assertFalse (obsiahnuté4);

5. containsIgnoreCase Metóda

The containsIgnoreCase metóda kontroluje, či je daná String obsahuje ďalší String necitlivým spôsobom.

Nasledujúci fragment kódu overuje, či Reťazec „baeldung.com“ zahŕňa „BAELDUNG“ keď sa ignorujú malé a veľké písmená:

Reťazcový reťazec = "baeldung.com"; boolean contains = StringUtils.containsIgnoreCase (reťazec, "BAELDUNG"); assertTrue (obsiahnuté);

6. countMatches Metóda

The counterMatches metóda počíta, koľkokrát sa znak alebo podreťazec objaví v danom texte String.

Nasleduje ukážka tejto metódy, ktorá to potvrdzuje „W“ sa objaví štyrikrát a „Com“ robí dvakrát v String„Vitajte na www.baeldung.com“:

Reťazcový reťazec = "vitajte na www.baeldung.com"; int charNum = StringUtils.countMatches (string, 'w'); int stringNum = StringUtils.countMatches (string, "com"); assertEquals (4, charNum); assertEquals (2, stringNum);

7. Metóda pripájania a prípravy

The appendIfMissing a appendIfMissingIgnoreCase metódy pripájajú príponu na koniec daného čísla String ak to ešte nekončí žiadnou z vložených prípon, a to spôsobom rozlišujúcim malé a veľké písmená.

Podobne prependIfMissing a prependIfMissingIgnoreCase metódy predponu pridávajú na začiatok daného čísla String ak nezačína žiadnou z vložených predpôn.

V nasledujúcom príklade je appendIfMissing a prependIfMissing na pridanie prípony a predpony k súboru sa používajú metódy Reťazec „baeldung.com“ bez toho, aby sa tieto prípony opakovali:

Reťazcový reťazec = "baeldung.com"; String stringWithSuffix = StringUtils.appendIfMissing (string, ".com"); String stringWithPrefix = StringUtils.prependIfMissing (reťazec, "www."); assertEquals ("baeldung.com", stringWithSuffix); assertEquals ("www.baeldung.com", stringWithPrefix);

8. Metóda zmeny prípadu

The String trieda už definuje metódy na prevod všetkých znakov a String na veľké alebo malé písmená. Táto pododdiel iba ilustruje použitie metód, ktoré menia prípad a String inými spôsobmi, vrátane swapCase, kapitalizovať a nekapitalizovať.

The swapCase metóda zamení prípad a Reťazec, zmena veľkých písmen na malé a malých písmen na veľké:

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

The kapitalizovať metóda prevádza prvý znak daného String na veľké písmená, takže všetky zostávajúce znaky zostanú nezmenené:

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

The nekapitalizovať metóda prevádza prvý znak daného String na malé písmená a ponechať všetky zostávajúce znaky nezmenené:

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

9. Metóda reverzácie

The StringUtils trieda definuje dve metódy pre reverzáciu reťazcov: obrátiť a reverseDelimited. The obrátiť metóda preskupuje všetky znaky a String v opačnom poradí, zatiaľ čo reverseDelimited metóda zmení poradie skupín znakov oddelených zadaným oddeľovačom.

Nasledujúci fragment kódu obráti reťazec „Baeldung“ a potvrdzuje výsledok:

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

Vďaka reverseDelimited metódou sú znaky obrátené v skupinách namiesto jednotlivo:

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

10. The točiť sa() Metóda

The točiť sa() metóda kruhovo posúva znaky a String množstvo pozícií. Fragment kódu nižšie presúva všetky znaky súboru Reťazec „baeldung“ štyri polohy vpravo a overí výsledok:

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

11. The rozdiel Metóda

The rozdiel metóda porovnáva dva reťazce a vracia zvyšok druhého Reťazec, počnúc pozíciou, v ktorej je iná ako prvá. Nasledujúci fragment kódu porovnáva dva Struny: „Baeldung návody“ a „Kurzy Baeldung“ v oboch smeroch a potvrdzuje výsledok:

Návody k reťazcom = "Baeldung Návody"; Sláčikové kurzy = "Baeldungové kurzy"; String diff1 = StringUtils.difference (návody, kurzy); String diff2 = StringUtils.difference (kurzy, návody); assertEquals ("Kurzy", rozdiel1); assertEquals ("Návody", diff2);

12. Záver

Tento tutoriál predstavuje spracovanie reťazcov v Apache Commons Lang 3 a prechádza hlavnými API, ktoré môžeme použiť mimo StringUtils trieda knižnice.

Implementáciu všetkých vyššie uvedených príkladov a útržkov kódu nájdete ako vždy v projekte GitHub.


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