Kako ukloniti prefiks iz žica u Groovyu

1. Uvod

U ovom brzom vodiču naučit ćemo kako ukloniti prefiks iz niza u Groovyu.

Prvo ćemo pogledati što Niz klase nudi u tu svrhu. Nakon toga prijeći ćemo na regularne izraze i vidjeti kako ih možemo koristiti za uklanjanje prefiksa.

2. Korištenje Niz Metode

Općenito se Groovy smatra dinamičnim jezikom za ekosustav Java. Stoga i dalje možemo koristiti svaku Javu Niz razredne metode uz nove Groovyjeve. Međutim, za uklanjanje prefiksa još uvijek nema izravne metode poput removePrefix ().

Uklanjanje prefiksa iz Groovyjevih nizova sastoji se od dva koraka: prvo potvrda, a zatim uklanjanje. Oba se koraka mogu izvesti pomoću StringGroovyMethods klasa koja nudi mnoge korisne metode za manipulaciju nizom.

2.1. počinje sa() Metoda

The početi sa() metoda ispituje započinje li niz s određenim prefiksom. Vraća se pravi ako prefiks postoji i lažno inače.

Počnimo s groovy zatvaranjem:

@Test public void whenCasePrefixIsRemoved_thenReturnTrue () {def trimPrefix = {it.startsWith ('Groovy-')? it.minus ('Groovy-'): it} def actual = trimPrefix ("Groovy-Tutoriali na Baeldungu") def očekuje = "Tutoriali na Baeldungu" assertEquals (očekuje se, stvarno)} 

Jednom kada se potvrdi postojanje, tada možemo koristiti i podniz () način uklanjanja:

trimPrefix.substring ('Groovy -'. length ()) 

2.2. startWithIgnoreCase () Metoda

The počinje sa() metoda razlikuje velika i mala slova. Dakle, potreban je ručni napor kako bi se negirao učinak slučaja bilo primjenom toLowerCase () ili toUpperCase () metode.

Kao što i samo ime govori, startWithIgnoreCase () pretražuje prefiks bez razmatranja slučaja. Vraća true ako prefiks postoji, a false u suprotnom.

Pogledajmo kako se koristiti ovom metodom:

@Test public void whenPrefixIsRemovedWithIgnoreCase_thenReturnTrue () {String prefix = "groovy-" String trimPrefix = "Groovy-Tutorials at Baeldung" def current if (trimPrefix.startsWithIgnoreCase (prefix)) {actual = trimPrestring (prefix) (prefix). def očekuje = "Tutoriali na Baeldungu" assertEquals (očekuje se, stvarno)} 

2.3. startWithAny () Metoda

Gore navedena rješenja korisna su kada moramo provjeriti samo jedan prefiks. Što se tiče provjere više prefiksa, Groovy također pruža podršku za provjeru više prefiksa.

The startWithAny () metoda provjerava je li CharSequence započinje s bilo kojim navedenim prefiksima. Nakon potvrde prefiksa, možemo primijeniti logiku prema zahtjevima:

String trimPrefix = "Groovy-Tutorials at Baeldung" if (trimPrefix.startsWithAny ("Java", "Groovy", "Linux")) {// logika za uklanjanje prefiksa} 

3. Korištenje regularnog izraza

Regularni izraz moćan je način podudaranja ili zamjene uzorka. Groovy ima operator uzorka ~ koji pruža jednostavan način za stvaranje a java.util.regex.Pattern primjer.

Definirajmo jednostavan regularni izraz za uklanjanje prefiksa:

@Test public void whenPrefixIsRemovedUsingRegex_thenReturnTrue () {def regex = ~ "^ groovy-" String trimPrefix = "groovy-Tutorials at Baeldung" String actual = trimPrefix - regex def očekivano = "Tutoriali na Baeldung" atututng " )} 

Verzija gornjeg regularnog izraza bez velikih i malih slova:

def regularni izraz = ~ "^ ([Gg]) roovy-" 

Operator karata ^ pobrinut će se da navedeni podniz postoji na početku.

3.1. replaceFirst () Metoda

Korištenjem regularnih izraza zajedno s izvornim metodama nizova možemo izvesti vrlo moćne trikove. The replaceFirst () metoda je jedna od ovih metoda. Zamjenjuje prvu pojavu koja se podudara s danim regularnim izrazom.

Uklonimo prefiks pomoću replaceFirst () metoda:

@Test public void whenPrefixIsRemovedUsingReplaceFirst_thenReturnTrue () {def regex = ~ "^ groovy" String trimPrefix = "groovyTutorials na Baeldungovoj groovy stranici" String actual = trimPrefix.replaceFirst (regex, "") def očekuje atov " očekivano, stvarno)} 

3.2. zamjeni sve() Metoda

Baš kao replaceFirst (), zamjeni sve() također prihvaća regularni izraz i zadanu zamjenu. Zamjenjuje svaki podniz koji odgovara zadanim kriterijima. Da bismo uklonili prefiks, možemo se poslužiti i ovom metodom.

Iskoristimo zamjeni sve() za zamjenu podniza samo na početku niza:

@Test public void whenPrefixIsRemovedUsingReplaceAll_thenReturnTrue () {String trimPrefix = "groovyTutorials at Baeldung groovy" String actual = trimPrefix.replaceAll (/ ^ groovy /, "") def očekuje = "Tutoriali na BaeldurtEktuovni groovy) 

4. Zaključak

U ovom smo brzom vodiču istražili nekoliko načina uklanjanja prefiksa iz niza. Da bismo potvrdili postojanje prefiksa, vidjeli smo kako to učiniti za velike i male nizove.

Istodobno, vidjeli smo kako otkriti prefiks među mnogim pruženim podnizima. Također smo pogledali više metoda koje se mogu koristiti za uklanjanje podniza. Na kraju smo ukratko razgovarali o ulozi regularnog izraza u tu svrhu.

Kao i uvijek, svi primjeri koda mogu se naći na GitHubu.


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