Obrada niza pomoću Apache Commons Lang 3

1. Pregled

Biblioteka Apache Commons Lang 3 pruža podršku za manipulaciju osnovnim klasama Java API-ja. Ova podrška uključuje metode za rukovanje nizovima, brojevima, datumima, istodobnošću, odrazom objekta i još mnogo toga.

Uz općeniti uvod u knjižnicu, ovaj tutorial prikazuje metode StringUtils klasa koja se koristi za manipulaciju Niz instance.

2. Ovisnost Mavena

Da biste koristili biblioteku Commons Lang 3, samo je izvucite iz središnjeg spremišta Maven koristeći sljedeću ovisnost:

 org.apache.commons commons-lang3 3.5 

Najnoviju verziju ove knjižnice možete pronaći ovdje.

3. StringUtils

The StringUtils klasa pruža metode za null-sigurne operacije na žicama.

Mnoge metode ove klase imaju odgovarajuće definirane u klasi java.lang.String, koji nisu null-sef. Međutim, ovaj će se odjeljak umjesto toga usredotočiti na nekoliko metoda koje nemaju ekvivalente u Niz razred.

4. The sadržiSvako Metoda

The sadržiSvako metoda provjerava je li zadana Niz sadrži bilo koji znak u zadanom skupu znakova. Ovaj skup znakova može se proslijediti u obliku a Niz ili ugljen varargi.

Sljedeći fragment koda prikazuje upotrebu dva preopterećena okusa ove metode s provjerom rezultata:

Niz niza = "baeldung.com"; logička vrijednost1 = StringUtils.containsAny (niz, 'a', 'b', 'c'); logičko sadržano2 = StringUtils.containsAny (niz, 'x', 'y', 'z'); boolean sadrzi3 = StringUtils.containsAny (string, "abc"); logička vrijednost4 = StringUtils.containsAny (niz, "xyz"); assertTrue (sadržano1); assertFalse (sadržano2); assertTrue (sadržano3); assertFalse (sadržano4);

5. The containsIgnoreCase Metoda

The containsIgnoreCase metoda provjerava je li zadana Niz sadrži drugu Niz na slučaj neosjetljiv.

Sljedeći fragment koda provjerava je li Niz "baeldung.com" sadrži “BAELDUNG” kada se zanemaruju velika i mala slova:

Niz niza = "baeldung.com"; boolean sadržan = StringUtils.containsIgnoreCase (niz, "BAELDUNG"); assertTrue (sadržano);

6. The countMatches Metoda

The counterMatches metoda broji koliko se puta pojavljuje znak ili podniz u danom Niz.

Slijedi demonstracija ove metode koja to potvrđuje "W" pojavljuje se četiri puta i "Com" radi dva puta u Niz“Dobrodošli na www.baeldung.com”:

String string = "dobrodošli na www.baeldung.com"; int charNum = StringUtils.countMatches (niz, 'w'); int stringNum = StringUtils.countMatches (niz, "com"); assertEquals (4, charNum); assertEquals (2, stringNum);

7. Metoda dodavanja i dodavanja

The appendIfMissing i appendIfMissingIgnoreCase metode dodaju sufiks na kraj datog Niz ako već ne završava s bilo kojim od predanih sufiksa na velika i mala slova, a neosjetljivo.

Slično tome, prependIfMissing i prependIfMissingIgnoreCase metode dodaju prefiks na početak zadanog Niz ako ne započinje s bilo kojim od predanih prefiksa.

U sljedećem primjeru, appendIfMissing i prependIfMissing metode se koriste za dodavanje sufiksa i prefiksa u Niz "baeldung.com" bez ponavljanja ovih afiksa:

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

8. Metoda promjene slučaja

The Niz klasa već definira metode za pretvaranje svih znakova a Niz velikim ili malim slovima. Ovaj pododjeljak samo ilustrira upotrebu metoda koje mijenjaju slučaj a Niz na druge načine, uključujući swapCase, kapitalizirati i nekapitalizirati.

The swapCase metoda zamjenjuje slučaj a Niz, promjena velikog u malo i malo u veliko:

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

The kapitalizirati metoda pretvara prvi znak datog Niz u velika slova, a svi preostali znakovi ostaju nepromijenjeni:

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

The nekapitalizirati metoda pretvara prvi znak danog Niz malim slovima, a svi preostali znakovi ostaju nepromijenjeni:

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

9. Metoda okretanja unazad

The StringUtils klasa definira dvije metode za poništavanje nizova: obrnuti i reverseDelimited. The obrnuti metoda preuređuje sve znakove a Niz u suprotnom redoslijedu, dok reverseDelimited metoda mijenja redoslijed grupa znakova odvojenih određenim graničnikom.

Sljedeći fragment koda preokreće niz "Baeldung" i potvrđuje ishod:

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

Uz reverseDelimited metodom, znakovi se mijenjaju u skupinama, umjesto pojedinačno:

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

10. The rotirati() Metoda

The rotirati() metoda kružno prebacuje znakove a Niz niz pozicija. Ispod navedeni fragment koda premješta sve znakove Niz "baeldung" četiri položaja udesno i provjerava rezultat:

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

11. The razlika Metoda

The razlika metoda uspoređuje dva niza, vraćajući ostatak drugog Niz, polazeći od položaja u kojem se razlikuje od prvog. Sljedeći fragment koda uspoređuje dva Žice: "Vodiči za Baeldung" i “Tečajevi Baeldung” u oba smjera i potvrđuje ishod:

String tutoriali = "Baeldung Tutoriali"; Gudački tečajevi = "Tečajevi Baeldung"; String diff1 = StringUtils.difference (tutoriali, tečajevi); String diff2 = StringUtils.difference (tečajevi, vodiči); assertEquals ("Tečajevi", razl1); assertEquals ("Vodiči", razlika2);

12. Zaključak

Ovaj vodič uvodi String obradu u Apache Commons Lang 3 i prelazi na glavne API-je koje možemo koristiti izvan StringUtils razred knjižnice.

Kao i uvijek, implementacija svih gore danih primjera i isječaka koda može se naći u projektu GitHub.


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