L P TRÌNH JAVA 1
BÀI 5: CHU I VÀ BI U TH C CHÍNH QUI
M C TIÊU
K t thúc bài h c này b n có kh n ng
Hi u và s d ng chu i
Hi u và s d ng bi u th c chính qui
CHU I (STRING)
String là xâu các ký t .
String s = “Hello World”;
String là m t class
c xây d ng s n trong Java.
String có r t nhi u ph ng th c giúp x lý chu i
m t cách thu n ti n và hi u qu .
String là ki u d li u
c s d ng nhi u nh t
trong l p trình
KÝ T
Ký
\t
\r
\n
\\
\”
S
H
Ký
V
X
\
“
tab
dòng
dòng
("\t+ H và tên: T
\r\ \t+ T
+ H và tên: T
+ T : 40
: 40");
C BI T
THAO TÁC CHU I
So sánh
Tìm v trí c a chu i con
L y chu i con
Tách và h p chu i
Chuy n i hoa th ng
L y
dài
…
S
= “N
S
N
V
Tèo”;
(0, 6);
STRING API
P
Mơ
toLowerCase ()
Đ
U
C
()
Đ
hoa
C
các ký
2
L
L
L
charAt
A
con
ký
trí
Tìm
và thay
Tách
thành
STRING API
P
Mơ
So sánh
I
C
W
W
K
tra có
()
K
tra có
()
K
tra có
matches ()
O ()
I
() So sánh
O ()
So
có
hoa/
khơng
hoa/
hay khơng
hay khơng
thúc
hay khơng
hay khơng?
Tìm
trí
Tìm
trí
con
cùng
con
MÔ
ng nh p h p l khi mã tài kho n là “hello” và
m t kh u trên 6 ký t
Th c hi n:
Nh p username và password t bàn phím
S d ng equalsIgnoreCase()
so sánh username và
length()
l y
dài m t kh u
I
…
}
…
}
C
() > 6){
1
MÔ
Qu n lý sinh viên
Nh
Xu
ho
Xu
p m ng h tên sinh viên
t h và tên (IN HOA) nh ng sinh viên tên Tu n
c h Nguy n
t tên nh ng sinh viên có tên lót là M
Th hi n
fullname.toUpperCase(): i IN HOA
fullname.startsWith(“Nguy n ”): h Nguy n
fullname.endsWith(“ Tu n”): tên Tu n
fullname.contains(“ M ”): lót M
fullname.lastIndexOf(“ ”): L y v trí tr ng cu i cùng
fullname.substring(lastIndex + 1): L y tên
2
MƠ
Tìm ki m và thay th chu i
Th c hi n theo h ng d n sau
Nh p chu i n i dung, tìm ki m và thay th t bàn
phím
String content = scanner.nextLine()
String find = scanner.nextLine()
String replace = scanner.nextLine()
Th c hi n tìm và thay
String result = content.replaceAll(find, replace)
3
MÔ
4
Nh p chu i ch a dãy s phân cách b i d u ph y
và xu t các s ch n
Th c hi n
S d ng split()
tách chu i thành m ng b i ký t
phân cách là d u ph y
Duy t m ng, i sang s nguyên và ki m tra s ch n
S
S
daySo =
.split
daySo){
I
I (so);
S
}
}
BI U TH C CHÍNH QUI
B n có bi t các chu i sau ây bi u di n nh ng gì
hay khơng?
54-P6-6661
54-P6-666.01
0913745789
192.168.11.200
1. B có
sao
chúng khơng?
2. Làm
nào máy tính
có
ra
?
ra
BI U TH C CHÍNH QUI
Máy tính có th nh n d ng nh chúng ta n u
chúng ta cung c p qui lu t nh n d ng cho
chúng. Bi u th c chính qui cung c p qui lu t
nh n d ng chu i cho máy tính.
Bi u th c chính qui là m t chu i m u
cs
d ng
qui nh d ng th c c a các chu i. N u
m t chu i nào ó phù h p v i m u d ng th c
thì chu i ó
c g i là so kh p (hay i sánh).
Ví d : [0-9]{3,7}: Bi u th c chính qui này so
kh p các chu i t 3 n 7 ký t s .
[0-9]: i di n cho 1 ký t s
{3,7}: i di n cho s l n xu t hi n (ít nh t 3 nhi u
nh t 7)
VÍ D : BI U TH C CHÍNH QUI
B
chính
K
tra
có so
khơng?
XÂY D NG BI U TH C CHÍNH QUI
[0-9]{3, 7}
REGEX TH
S CMND
[0-9]{9}
S
i n tho i di
ng vi t nam
0\d{9,10}
S xe máy sài gòn
5\d-[A-Z]\d-((\d{4})|(\d{3}\.\d{2}))
a ch email
\w+@\w+(\.\w){1,2}
NG DÙNG
VÍ D V REGEX
E
S
bàn
H
DEMO
H
hóa
mã
TH C HÀNH - VALIDATION
Nh p thông tin nhân viên t bàn phím. Thơng
tin c a m i nhân viên ph i tuân theo các ràng
bu c sau. Xu t thông báo l i và yêu c u nh p l i
T
K
R E
Mã
5 ký
M
Ít
H và tên
C
E
Đ
Đ
Đ
S gịn
083\d{7}
S
S
S
5\d- A-Z -((\d{4})|(\d{3}\.{2}))
S CMND
10
W
Đ
A-Z
-zA-Z
\w+@\w+(\. \
\d{10}
\.\w+\.\
T NG K T N I DUNG BÀI H C
Gi i thi u chu i (String)
Ký t
c bi t
Thao tác chu i
Gi i thi u bi u th c chính qui (Regular
Expression)
Xây d ng bi u th c chính qui
ng d ng bi u th c chính qui