You are on page 1of 12

KIỂU XÂU

HIEUPCIT
Tìm hiểu xâu
Xâ u là dãy cá c kí tự trong bộ mã ASCII, mỗ i kí tự đượ c gọ i là phầ n tử củ a xâ u. Số
lượ ng kí tự trong xâ u đượ c gọ i là độ dà i củ a xâ u. Xâ u có độ dà i bằ ng 0 gọ i là xâ u rỗ ng.
Ví dụ : Xâ u a = “Bach Khoa”;

B a c h K h o a
0 1 2 3 4 5 6 7 8

Có 9 phầ n tử → có độ dà i là 9
Tham chiếu đến phầ n tử củ a xâ u đượ c xá c định bở i tên biến xâ u và chỉ số đặ t trong
cặ p ngoặ c [ và ]
Vậy: a[0] → ‘B’
a[4] → ‘ ’

HIEUPCIT
1. Khai báo
Cú phá p: string ten_bien_xau;
Ví dụ :
string hoten;
string ghichu;
Chú ý: Độ dà i xâ u trong C++ tù y thuộ c và o giớ i hạ n củ a bộ nhớ (RAM)
o Nhậ p xâ u:
 getline(cin, ten_bien_xau);
Ý nghĩa: Nhậ p cá c xâ u có chứ a dấ u cá ch
 cin >> ten_bien_xau;
Ý nghĩa: Chỉ nhậ p cá c xâ u khô ng có dấ u cá ch
Ví dụ : string s; cin >> s; Nếu nhập s: Lop Lap Trinh;
//Kết quả trả về s=Lop
HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
a. Phép ghép xâu
Kí hiệu là dấ u cộ ng (+), dù ng để ghép nhiều xâ u thà nh mộ t xâ u. Có thể thự c
hiện phép ghép xâ u vớ i cá c hằ ng và biến xâ u.
Ví dụ 2:
s1 = “lop”; s2 = “tin10”;
Phép ghép xâ u:
s1 + s2 → “loptin10”’
s1 + ‘ ‘ + s2 → “lop tin10”
s1 + ‘ ’ + s2 + “ hoc tin hoc”
→ “lop tin10 hoc tin hoc”

HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
b. Phép so sánh
Sử dụ ng cá c phép so sá nh ==, !=, >, >=, <, <= và thự c hiện theo quy tắ c:
o Xâ u a lớ n hơn xâ u b nếu như kí tự đầ u tiên khá c nhau giữ a chú ng kể từ
trá i sang trong xâ u a có mã ASCII lớ n hơn.
Ví dụ 3: “hoc tin” < “tin hoc”
“anh” > “Anh”
“anh” < “em”
“anh hai” > “anh ba”
“Anh hai” < “Em ut”

HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
b. Phép so sánh
Sử dụ ng cá c phép so sá nh ==, !=, >, >=, <, <= và thự c hiện theo quy tắ c:
o Nếu a và b là cá c xâ u có độ dà i khá c nhau và a là đoạ n đầ u củ a b thì a là
nhỏ hơn b
Ví dụ 4:
“hoc tin” < “hoc tin hoc”
“may tinh cua toi” > “may tinh”

HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
b. Phép so sánh
Sử dụng các phép so sánh ==, !=, >, >=, <, <= và thực hiện theo quy tắc:
o Hai xâu được coi là bằng nhau nếu chúng giống nhau hoàn toàn
Ví dụ 5: “hoc tin” = “hoc tin”
“may tinh” = “may tinh”

HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
c. Chiều dài của xâu
s.length()
o Trả về số lượng kí tự có trong xâu
d. Tìm kiếm
s.find(s1);
o Trả về vị trí xuất hiện đầu tiên của xâu s1 trong s. Trả về -1 nếu xâu s1 không
xuất hiện trong s
Ví dụ: S = “Lop Tin K31 Tin ”; S1= “Tin ”
cout << S.find(S1);// kết quả = 4
HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
e. Xóa
s.erase(int pos, int n)
o Xó a n ký tự củ a xâ u s kể từ vị trí pos. Nếu khô ng quy định giá trị n thì tấ t
cả cá c ký tự củ a s từ vị trí pos trở đi sẽ bị xó a.
Ví dụ :
S = “Lop TinK31”;
S.erase(3,4)
Kết quả S= “LopK31”

HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
f. Chèn
s.insert(int pos, string s1);
Chèn xâ u s1 (kiểu string) và o vị trí pos củ a xâ u s.
Ví dụ :
S = “Lop K31”; S1= “Tin ”
S.insert(4, S1);
Kết quả S= “Lop Tin K31”

HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
g. Thay thế
s.replace(int pos, int n, string s2)
o Thay thế đoạ n xâ u con gồ m n kí tự từ vị trí pos bằ ng xâ u s2

HIEUPCIT
2. CÁC THAO TÁC XỬ LÝ XÂU
g. Sao chép
s.substr(int pos, int nchar)
o Trích ra mộ t xâ u con có nchar phầ n tử bắ t đầ u từ vị trí pos trong xâ u s.

Ví dụ :
S = “Lop K31”; S1= S.substr(4,3);
Kết quả S1= “K31”

HIEUPCIT

You might also like