Khái niệm
Giống như Xâu ký tự string là một mảng chứa các ký tự nhưng khác với char string có thể tự mở rộng bộ nhớ khi cần.
Khai báo
Cách khai báo khá đơn giản:
string ten_chuoi;
hoặc
string ten_chuoi = "Chuoi";
Ví dụ:
#include <bits/stdc++.h>
using namespace std;
int main() {
string name;
string name2 = "Hello NT-CODER";
cout << name2 << endl;
}
Kết quả:
Gán chuỗi:
chuoibandau = "chuoi_gan";
hoặc
chuoibandau = chuoi2;
Nối chuỗi:
Chuoi1 = Chuoi1 + Chuoi2;
Một số hàm xử lý chuỗi
length()
Trả về độ dài của chuỗi
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "NT-CODER";
cout << s1.length();
system("pause");
}
Kết quả: 8
substr(x, y)
Trích một chuỗi con với chiều dài y bắt đầu tại vị trí x. Nếu không có y, một chuỗi con từ vị trí x tới cuối chuỗi sẽ được rút trích.
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "NT-CODER";
cout << s1.substr(2, 2);
system("pause");
}
Kết quả: -C
find(a)
Kiểm tra chuỗi string a có xuất hiện trong chuỗi s hay không.
Nếu có thì trả về vị trí bắt đầu xuất hiện chuỗi r trong chuỗi s.
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "NT-CODER";
cout << s1.find("NT");
system("pause");
}
Kết quả: 0
Nếu ko tìm đc sẽ trả về số lớn hơn độ dài chuỗi s1
erase(x, n)
Xóa n ký tự bắt đầu tại vị trí x.
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "NT-CODER";
cout << s1.erase(2, 3);
system("pause");
}
Kết quả: NTDER
replace(x, n, str)
Thay thế n ký tự tại vị trí bắt đầu là x bằng chuỗi str.
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "NT-CODER";
cout << s1.replace(2, 5, "[rep]");
system("pause");
}
Kết quả: NT[rep]R
compare(s2)
So sánh chuỗi s1 với s2. Giá trị trả về là -1 nếu s1 < s2, bằng 0 nếu s1 == s2, là 1 nếu s1 > s2
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "NT-CODER";
string s2 = "NT-CODER2";
cout << s1.compare(s2);
system("pause");
}
Kết quả: -1
swap(s2)
Hoán đổi nội dung hai chuỗi.
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "NT-CODER";
string s2 = "NT-CODER2";
swap(s1, s2);
cout << s1;
system("pause");
}
Kết quả: NT-CODER2
insert(ind, s2)
Thêm chuỗi s2 vào s1 sau vị trí index.
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "NT-CODER";
string s2 = "NT-CODER2";
cout << s1.insert(3, s2);
system("pause");
}
Kết quả: NT-NT-CODER2CODER
Qua bài viết hôm nay, chắc hẳn bạn cũng đã hiểu về chuỗi ký tự trong C++, hãy tiếp tục những bài tiếp theo nhé.
Nhận xét
Đăng nhận xét