Tegyen egy karakterláncot nullával vagy szóközzel a Java-ban

1. Áttekintés

Ebben a rövid bemutatóban megtudhatjuk, hogyan kell kitölteni a Húr Java-ban. Főként egy bal oldali betűre összpontosítunk, vagyis hozzáadjuk a vezető szóközöket vagy nullákat, amíg el nem éri a kívánt hosszat.

A megközelítés a jobb párnázott Húr nagyon hasonló, ezért csak rámutatunk a különbségekre.

2. Pad a Húr Egyéni módszerek használata

A Húr osztály a Java-ban nem nyújt kényelmes módszert a kitöltésre, ezért készítsünk több metódust önállóan. Először is tegyünk néhány elvárást:

assertEquals ("123456", padLeftZeros ("123456", 10)); assertEquals ("0000123456", padLeftZeros ("123456", 10));

2.1. Használata StringBuilder

Ezzel elérhetjük StringBuilder és néhány eljárási logika:

public String padLeftZeros (String inputString, int length) {if (inputString.length ()> = hossz) {return inputString; } StringBuilder sb = új StringBuilder (); while (sb.length () <length - inputString.length ()) {sb.append ('0'); } sb.append (inputString); return sb.toString (); }

Itt láthatjuk, hogy ha az eredeti szöveg hossza egyenlő vagy nagyobb, mint a kívánt hosszúság, akkor annak változatlan változatát adjuk vissza. Ellenkező esetben létrehozunk egy újat Húr, szóközökkel kezdve és hozzáadva az eredetit.

Természetesen, ha akarnánk más karakterű padot egyszerűen használhatnánk a helyett 0.

Hasonlóképpen, ha jobbra akarjuk helyezni a padot, akkor csak meg kell tennünk újStringBuilder (inputString) ehelyett, majd adja hozzá a szóközöket a végén.

2.2. Használata szubsztring

A bal párnázás másik módja a hozzon létre egy Húr kívánt hosszúsággal, amely csak betűket tartalmaz, majd használja a szubsztring () módszer:

StringBuilder sb = új StringBuilder (); for (int i = 0; i <hossz; i ++) {sb.append (''); } return sb.substring (inputString.length ()) + inputString;

2.3. Használata Karakterlánc.formátum

És végül, a Java 5 óta használhatjuk Húr.formátum():

return String.format ("% 1 $" + hossz + "s", inputString) .replace ('', '0');

Meg kell jegyeznünk, hogy alapértelmezés szerint a kitöltési műveletet szóközökkel kell végrehajtani. Ezért kell használnunk a cserélje () metódus, ha nullákkal vagy bármilyen más karakterrel akarunk párnázni.

A megfelelő betéthez csak egy másik zászlót kell használnunk: %1$-

3. Pad a Húr Könyvtárak használata

És vannak olyan külső könyvtárak, amelyek már kínálnak kitöltési funkciókat.

3.1. Apache Commons Lang

Az Apache Commons Lang egy Java segédprogram osztályt tartalmaz. Az egyik legnépszerűbb a StringUtils.

Használatához be kell építenünk a projektünkbe, hozzáadva annak függőségét a projektünkhöz pom.xml fájl:

 org.apache.commons commons-lang3 3.8.1 

És akkor elhaladunk a inputString és a hossz, csakúgy, mint az általunk létrehozott módszerek. Átadhatjuk a párnázási karaktert is:

assertEquals ("123456", StringUtils.leftPad ("123456", 10)); assertEquals ("0000123456", StringUtils.leftPad ("123456", 10, "0"));

Ismét a Húr alapértelmezés szerint szóközökkel lesz töltve, vagy kifejezetten be kell állítanunk egy másik betű karaktert.

Vannak megfelelőek is rightPad () mód.

Az Apache Commons Lang 3 további funkcióinak felfedezéséhez tekintse meg bemutatkozó bemutatónkat. Ha szeretné látni egyéb módjai a Húr manipuláció a StringUtils osztály, kérjük, olvassa el ezt a cikket.

3.2. Google Guava

Egy másik könyvtár, amelyet használhatunk, a Google Guava. Természetesen először hozzá kell adnunk a projekthez, hozzáadva annak függőségét:

 com.google.guava guava 27.0-jre 

És akkor használja a Húrok osztály:

assertEquals ("123456", Strings.padStart ("123456", 10, '')); assertEquals ("0000123456", Strings.padStart ("123456", 10, '0'));

Ebben a módszerben nincs alapértelmezett pad karakter, ezért minden alkalommal át kell adnunk.

Jobb padra használhatjuk padEnd () módszer.

A guava-i könyvtár sokkal több funkciót kínál, és ezek közül sokat lefedtünk. Itt megnézheti a guavával kapcsolatos cikkeket.

4. Következtetés

Ebben a gyors cikkben bemutattuk, hogyan lehet a Húr Java-ban. Példákat mutattunk be saját implementációink vagy meglévő könyvtárak felhasználásával.

Szokás szerint a teljes forráskód megtalálható a GitHubon.