"Merhaba, Amigo!"

"Bildiğim kadarıyla, Rishi size zaten normal ifadelerden bahsetmişti."

"Evet, çok ilginçti."

"Harika, şimdi size Dizelerle çalışmak için normal ifadeleri kullanmayı anlatacağım."

"En basit soruyla başlayalım:"

1) Bir String'in normal bir ifade tarafından belirtilen kalıpla eşleşip eşleşmediğini nasıl kontrol edebilirim?

"Bunun için bir eşleşme yöntemi var. Düzenli bir ifade içeren bir Dize iletirsiniz ve yöntem doğru veya yanlış döndürür."

Yöntem(ler) Örnek(ler)
boolean matches(String regex)
String s = "Good news, everyone!";
Boolean test = s.matches("news\\.*");
Sonuç:

false (the String doesn't start with "news")

2) Eşleşen tüm alt dizileri farklı dizilerle nasıl değiştiririm?

"Bunun için iki yöntem var."

" replaceAll yöntemi, bir alt dizenin tüm oluşumlarını başka bir dizeyle değiştirir."

" replaceFirst yöntemi, geçirilen bir alt dizenin ilk oluşumunu belirtilen bir dizeyle değiştirir."

Yöntem(ler) Örnek(ler)
String replaceAll(String regex, String replacement)
String s = "Good news, everyone!";
String s2 = s.replaceAll ("e\\.","EX");
Sonuç:

s2 == "Good nEXs EXEXyonEX";
String replaceFirst(String regex, String replacement)
String s = "Good news, everyone!";
String s2 = s.replaceFirst("e\\.","EX");
Sonuç:

s2 == "Good nEXs, everyone!";

3) Bir diziyi parçalara nasıl ayırırım?

"Bunun için, sınırlayıcı bir maske alan split yöntemimiz var:"

Yöntem(ler) Örnek(ler)
String[] split(String regex)
String s = "Good news everyone!";
String[] ss = s.split("ne");
System.out.println(Arrays.toString(ss));
Sonuç (üç diziden oluşan bir dizi):

[Good , ws everyo, !]
"Good ", "ws everyo", "!";

" StringTokenizer sınıfı, bir dizeyi parçalara ayırmanın başka bir yoludur ."

"Bu sınıf normal ifadeler kullanmaz. Bunun yerine, bir dizi sınırlayıcı içeren bir Dize iletirsiniz. Bu yaklaşımın avantajı, tüm dizeyi bir kerede parçalara ayırmaması, bunun yerine yavaşça hareket etmesidir. başından sonuna."

"Sınıf, bir yapıcı ve iki yöntemden oluşur. Ayırdığımız String'i, sınırlayıcı karakterler kümesini içeren bir String ile birlikte yapıcıya iletmeniz gerekir."

nextToken yöntemi, sonraki belirteci (alt dize) döndürür.

Henüz döndürülmemiş alt dizeler varsa hasMoreTokens() yöntemi true değerini döndürür.

Yöntem(ler) Örnek(ler)
boolean hasMoreTokens()

String nextToken()
String s = "Good news, everyone!";

StringTokenizer tokenizer =
new StringTokenizer(s,"ne");
while (tokenizer.hasMoreTokens())
{
String token = tokenizer.nextToken();
System.out.println(token);
}
Ekran çıkışı:

Good
ws
v
ryo
!

" StringTokenizer yapıcısına iletilen ikinci String'deki herhangi bir karakterin sınırlayıcı olarak ele alındığını unutmayın."

"Bir kez daha her şey açık görünüyor. Bu kodu hemen tek başıma yazamayabilirim ama burada neler döndüğünü anlıyorum."

"Mükemmel, o zaman konuya hakim olduğunuzu varsayacağız."