A snippet kuliah karo mentor minangka bagéan saka kursus Universitas Codegym. Ndaftar kanggo kursus lengkap.


1 Mbandhingake senar

Salah sawijining operasi sing paling umum karo senar yaiku perbandingan. Kelas String duwe luwih saka sepuluh cara sing digunakake kanggo mbandhingake senar siji karo senar liyane. Ing ngisor iki kita bakal ndeleng 8 sing utama.

Metode Katrangan
boolean equals(String str)
String dianggep padha yen kabeh karakter cocok.
boolean equalsIgnoreCase(String str)
Mbandhingake senar, ora nggatekake huruf cilik (ora nggatekake huruf gedhe utawa cilik)
int compareTo(String str)
Mbandhingake senar, ngasilake nomer karakter sing cocog saka wiwitan senar.
public int compareToIgnoreCase(String str)
Ngasilake nomer karakter sing cocog saka wiwitan senar, nglirwakake cilik
boolean regionMatches(int toffset, String str, int offset, int len)
Mbandhingake bagean saka strings
boolean startsWith(String prefix)
Priksa manawa senar saiki diwiwiti karo senarprefix
boolean endsWith(String suffix)
Priksa manawa senar saiki rampung karo senarsuffix

Contone, sampeyan pengin nulis program sing njaluk pangguna dalan menyang file banjur mriksa jinis file adhedhasar ekstensi. Kode program kasebut bisa uga katon kaya iki:

Kode Cathetan
Scanner console = new Scanner(System.in);
String path = console.nextLine();

if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}
Nggawe Scannerobyek
Maca baris saka console

Priksa manawa senar pathrampung karo senar diwenehi


2 Nggoleki substrings

Sawise mbandhingake senar, operasi sing paling populer kaloro yaiku nemokake senar ing njero liyane. Kelas String uga duwe sawetara cara kanggo iki:

Metode Katrangan
int indexOf(String str)
Nggoleki senar string senar saiki. Ngasilake indeks karakter pisanan saka kedadeyan pisanan.
int indexOf(String str, int index)
Nggoleki senar string senar saiki, ngliwati indexkarakter pisanan. Ngasilake indeks kedadeyan.
int lastIndexOf(String str)
Nggoleki senar string senar saiki, diwiwiti saka pungkasan. Ngasilake indeks kedadeyan pisanan.
int lastIndexOf(String str, int index)
Nggoleki senar string senar saiki saka mburi, ngliwati indexkarakter pisanan.
boolean matches(String regex)
Priksa manawa string saiki cocog karo pola sing ditemtokake dening ekspresi reguler.

Cara indexOf(String)lan indexOf(String, index)cara asring digunakake ing kombinasi. Cara pisanan ngidini sampeyan nemokake kedadeyan pisanan saka substring liwati ing string saiki. Lan cara liya ngidini sampeyan nemokake kedadeyan kaloro, katelu, lan sapiturute kanthi ngliwati karakter indeks pisanan.

Upaminipun kita duwe url kaya " https://domain.com/about/reviews ", lan kita pengin ngganti jeneng domain karo " codegym.cc ". Url bisa duwe macem-macem jeneng domain, nanging kita ngerti ing ngisor iki:

  • Jeneng domain didhisiki dening rong garis miring maju - "//"
  • Jeneng domain diterusake kanthi garis miring siji - " /"

Mangkene apa kode program kasebut bakal katon kaya:

Kode Cathetan
Scanner console = new Scanner(System.in);
String path = console.nextLine();

int index = path.indexOf("//");
int index2 = path.indexOf("/", index + 2);

String first = path.substring(0, index + 2);
String last = path.substring(index2);

String result = first + "codegym.cc" + last;
System.out.println(result);
Nggawe obyek Scanner
Maca baris saka console

Njaluk indeks saka kedadeyan pisanan saka senar " //"
Kita njaluk indeks saka kedadean pisanan saka senar /, nanging katon mung sawise kedadean saka karakter //.
Kita entuk senar saka awal nganti pungkasan karakter //
Kita entuk senar saka /pungkasan.

We concatenate strings lan domain anyar.

Cara lastIndexOf(String)lan lastIndexOf(String, index)cara kerjane padha, mung telusuran sing ditindakake saka mburi senar nganti wiwitan.



3 Nggawe substrings

A snippet kuliah karo mentor minangka bagéan saka kursus Universitas Codegym. Ndaftar kanggo kursus lengkap.


Saliyane mbandhingake senar lan nemokake substrings, ana tumindak liyane sing populer banget: njupuk substring saka senar. Kaya sing kedadeyan, conto sadurunge nuduhake substring()telpon metode sing ngasilake bagean saka senar.

Iki minangka dhaptar 8 cara sing ngasilake substrings saka string saiki:

Metode Katrangan
String substring(int beginIndex, int endIndex)
Ngasilake substring sing ditemtokake dening kisaran indeks beginIndex..endIndex.
String repeat(int count)
Baleni string saiki n kaping
String replace(char oldChar, char newChar)
Ngasilake string anyar: ngganti karakter oldCharkaro karakternewChar
String replaceFirst(String regex, String replacement)
Ngganti substring pisanan, sing ditemtokake dening ekspresi reguler, ing string saiki.
public String replaceAll(String regex, String replacement)
Ngganti kabeh substrings ing string saiki sing cocog karo ekspresi reguler.
String toLowerCase()
Ngonversi string dadi huruf cilik
String toUpperCase()
Ngonversi string menyang huruf gedhe
String trim()
Mbusak kabeh spasi ing wiwitan lan pungkasan senar

Mangkene ringkesan cara sing kasedhiya:

substring(int beginIndex, int endIndex)cara

Cara kasebut substringngasilake senar anyar sing kasusun saka karakter ing senar saiki, diwiwiti saka karakter kanthi indeks beginIndexlan pungkasan ing endIndex. Kaya kabeh interval ing Jawa, karakter karo indeks endIndexora kalebu ing interval. Tuladha:

Kode asil
"Hellos".substring(0, 3);
"Hel"
"Hellos".substring(1, 4);
"ell"
"Hellos".substring(1, 6);
"ellos"
"Hellos".substring(1);
"ellos"

Yen endIndexparameter ora ditemtokake (sing bisa), banjur substring dijupuk saka karakter ing beginIndex kanggo mburi senar.

repeat(int n)cara

Cara baleni mung mbaleni nkaping string saiki. Tuladha:

Kode asil
"Hello".repeat(3);
"HelloHelloHello"
"Hello".repeat(2);
"HelloHello"
"Hello".repeat(1);
"Hello"
"Hello".repeat(0);
""

replace(char oldChar, char newChar)cara

Cara iki replace()ngasilake string anyar sing kabeh karakter oldChardiganti karo karakter newChar. Iki ora ngganti dawa senar. Tuladha:

Kode asil
"Programming".replace('Z', 'z');
"Programming"
"Programming".replace('g', 'd');
"Prodrammind"
"Programming".replace('a', 'e');
"Progremming"
"Programming".replace('m', 'w');
"Prograwwing"

replaceFirst()lan replaceAll()cara

Cara iki replaceAll()ngganti kabeh kedadeyan saka siji substring karo liyane. Cara kasebut replaceFirst()ngganti kedadeyan pisanan saka substring liwati karo substring sing ditemtokake. String sing bakal diganti ditemtokake dening ekspresi reguler. Kita bakal nliti ekspresi reguler ing pencarian Java Multithreading .

Tuladha:

Kode asil
"Good news everyone!".replaceAll("e.", "EX");
"Good nEXs EXEXyonEX"
"Good news everyone!".replaceAll("o.", "-o-");
"G-o-d news every-o-e!"
"Good news everyone!".replaceFirst("e.", "EX");
"Good nEXs everyone!"
"Good news everyone!".replaceFirst("o.", "-o-");
"G-o-d news everyone!"

toLowerCase() and toUpperCase()cara

Kita kudu ngerti metode kasebut nalika kita sinau babagan nelpon metode kelas String.

trim()cara

Cara kasebut trim()mbusak spasi anjog lan mburi saka senar. Ora ndemek spasi sing ana ing senar (yaiku ora ing wiwitan utawa pungkasan). Tuladha:

Kode asil
"     ".trim();
""
"Hello".trim();
"Hello"
" Hello\n how are you?\n   ".trim();
"Hello\n how are you?\n"
"  Password\n   \n ".trim();
"Password\n   \n"