CHUYÊN ĐỀ C++: XÂU (STRING)
I. Giới thiệu về string
trong C++
string là kiểu
dữ liệu trong thư viện chuẩn C++ (STD) dùng để xử lý chuỗi ký tự.
Khai báo:
#include
<iostream>
#include <string>
using namespace std;
string s = "Hello";
II. Một số thao tác cơ bản
Thao tác |
Mô tả |
Ví dụ |
length()
hoặc size() |
Lấy độ dài
chuỗi |
s.length() |
empty() |
Kiểm tra
chuỗi rỗng |
s.empty() |
clear() |
Xóa toàn bộ
nội dung chuỗi |
s.clear() |
push_back(char) |
Thêm ký tự
vào cuối chuỗi |
s.push_back('a') |
pop_back() |
Xóa ký tự
cuối |
s.pop_back() |
substr(pos,
len) |
Cắt chuỗi
con |
s.substr(2,
3) |
find(str) |
Tìm chuỗi
con |
s.find("lo") |
erase(pos,
len) |
Xóa ký tự
từ vị trí |
s.erase(1,
2) |
insert(pos,
str) |
Chèn chuỗi
con tại vị trí |
s.insert(2,
"abc") |
compare(str) |
So sánh
hai chuỗi |
s.compare("abc") |
Toán tử + |
Nối chuỗi |
s1 + s2 |
III. Nhập – Xuất string
string
s;
getline(cin, s); // Nhập cả dòng có khoảng
trắng
cout << s << endl;
IV. Duyệt chuỗi
for
(int i = 0; i < s.length(); i++) {
cout << s[i] << "
";
}
// Hoặc dùng for-each
for (char c : s) {
cout << c << "
";
}
V. Ví dụ minh họa
1. Đảo ngược chuỗi
#include
<iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string s = "abcdef";
reverse(s.begin(), s.end());
cout << s; // Output: fedcba
}
2. Đếm số lần xuất hiện của một ký tự
#include
<iostream>
#include <string>
using namespace std;
int main() {
string s = "banana";
char c = 'a';
int count = 0;
for (char x : s) {
if (x == c) count++;
}
cout << "Số lần xuất hiện:
" << count;
}
3. Kiểm tra chuỗi đối xứng (palindrome)
#include
<iostream>
#include <string>
using namespace std;
bool isPalindrome(string s) {
int l = 0, r = s.size() - 1;
while (l < r) {
if (s[l] != s[r]) return false;
l++; r--;
}
return true;
}
int main() {
string s = "abba";
cout << (isPalindrome(s) ?
"YES" : "NO");
}
VI. Bài tập luyện tập
1.
1.
Nhập vào một chuỗi, đếm số từ trong chuỗi.
2.
2.
Viết hàm kiểm tra chuỗi có chứa toàn ký tự số hay không.
3.
3.
Tìm từ dài nhất trong chuỗi.
4.
4.
Chuẩn hóa chuỗi: loại bỏ khoảng trắng thừa, viết hoa chữ cái đầu mỗi từ.
5.
5.
Đếm số lần xuất hiện của một từ trong chuỗi.
Nhận xét
Đăng nhận xét