Tải bản đầy đủ (.pdf) (20 trang)

MOB1013-Slide 6 - Chuoi va bieu thuc chinh qui

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (643.84 KB, 20 trang )

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


\t
\r
\n
\\
\”


S

H

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



toLowerCase ()

Đ

U

C

()


Đ

hoa

C

các ký

2

L
L
L

charAt
A

con


trí

Tìm

và thay

Tách

thành



STRING API
P


So sánh
I

C

W
W

K

tra có

()

K

tra có

()

K

tra có

matches ()

O ()
I

() So sánh

O ()

So



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




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




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





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




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

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




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




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




×