"Hi, Amigo!"

"Sa pagkakaalam ko, nasabi na sa iyo ni Rishi ang tungkol sa mga regular na ekspresyon."

"Oo, ito ay napaka-interesante."

"Magaling, ngayon sasabihin ko sa iyo ang tungkol sa paggamit ng mga regular na expression upang gumana sa Strings."

"Magsimula tayo sa pinakasimpleng tanong:"

1) Paano ko titingnan kung ang isang String ay tumutugma sa pattern na tinukoy ng isang regular na expression?

"Mayroong paraan ng pagtutugma para dito. Magpapasa ka ng String na naglalaman ng regular na expression, at ang paraan ay nagbabalik ng true o false."

Paraan) (mga) halimbawa
boolean matches(String regex)
String s = "Good news, everyone!";
Boolean test = s.matches("news\\.*");
Resulta:

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

2) Paano ko papalitan ang lahat ng tumutugmang substring ng iba't ibang mga string?

"Mayroong dalawang paraan para dito."

" Pinapalitan ng replaceAll na paraan ang lahat ng paglitaw ng isang substring ng isa pang string."

" Pinapalitan ng paraan ng replaceFirst ang unang paglitaw ng isang naipasa na substring ng isang tinukoy na string."

Paraan) (mga) halimbawa
String replaceAll(String regex, String replacement)
String s = "Good news, everyone!";
String s2 = s.replaceAll ("e\\.","EX");
Resulta:

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

s2 == "Good nEXs, everyone!";

3) Paano ko hahatiin ang isang string sa mga bahagi?

"Para dito, mayroon kaming split method, na nangangailangan ng delimiting mask:"

Paraan) (mga) halimbawa
String[] split(String regex)
String s = "Good news everyone!";
String[] ss = s.split("ne");
System.out.println(Arrays.toString(ss));
Resulta (isang hanay ng tatlong mga string):

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

"Ang StringTokenizer class ay isa pang paraan upang hatiin ang isang string sa mga bahagi ."

"Ang klase na ito ay hindi gumagamit ng mga regular na expression. Sa halip, ipapasa mo lang ang isang String na naglalaman ng isang hanay ng mga delimiter. Ang bentahe ng diskarteng ito ay hindi nito pinuputol ang buong string nang sabay-sabay, sa halip ay dahan-dahan itong gumagalaw mula sa simula hanggang wakas."

"Ang klase ay binubuo ng isang constructor at dalawang pamamaraan. Kailangan mong ipasa ang String na pinaghiwa-hiwalay natin sa constructor, kasama ang isang String na naglalaman ng hanay ng mga character na nagde-delimiting."

Ang nextToken method ay nagbabalik ng susunod na token (substring).

Ang hasMoreTokens() method ay nagbabalik ng true kung may mga substring pa rin na hindi pa naibabalik.

Paraan) (mga) halimbawa
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);
}
Output ng screen:

Good
ws
v
ryo
!

"Tandaan na ang anumang character sa pangalawang String na ipinasa sa StringTokenizer constructor ay itinuturing bilang isang delimiter."

"Minsan pa, parang malinaw ang lahat. Baka hindi ko agad maisulat ang code na ito nang mag-isa, pero naiintindihan ko kung ano ang nangyayari dito."

"Excellent, then we'll assume that you've mastered the topic."