Tổng hợp các thao tác xử lí chuỗi (string) trong C++

Thêm bớt vào kí tự sau cuối của chuỗi trong C + +

Ở bài trước, Isinhvien đã giới thiệu đến các bạn cách khởi tạo, gán giá trị và nhập xuất chuỗi trong C++. Và trong bài viết này, Isinhvien sẽ tiếp tục chia sẻ đến các bạn các thao tác cơ bản để xử lí chuỗi (string) trong C++ để giúp các bạn làm việc với chuỗi nhanh chóng và dễ dàng hơn nhé!

Tổng hợp các thao tác xử lí chuỗi (string) trong C++ 2

Xác định số kí tự trong chuỗi C++

Để xác lập số kí tự trong chuỗi cũng như tính độ dài chuỗi thì ta hoàn toàn có thể dùngmột trong 2 phương pháp sau đây :

  • Dùng lenght()
  • Dùng size()

Ví dụ:

#include 
#include 
using namespace std;

int main()
{
       string str;
       cout << "Nhap vao mot chuoi: ";
       getline(cin, str);  // Nhập chuỗi 
       cout << "Do dai chuoi vua nhap: " << str.size() << endl;
       cout << "Do dai chuoi vua nhap: " << str.length();
       return 0;
}

Kết quả thực thi:

Nhap vao mot chuoi: Isinhvien
Do dai chuoi vua nhap: 9
Do dai chuoi vua nhap: 9

Vậy cả hai phương thức length và size của lớp string đều được dùng để tính độ dài của chuỗi kí tự.

Kiểm tra chuỗi rỗng hay không trong C++

Để kiểm tra xem một chuỗi có rỗng hay không ta dùng phương thức empty, khi chuỗi rỗng thì trả về true, ngược lại thì trả về false.

Ví dụ:

#include 
#include 
using namespace std;

int main()
{
       string str="Isinhvien";

       if(str.empty())
       cout<<"Chuoi rong";
       else
       cout<<"Chuoi khong rong";
       
       return 0;
}

Kết quả thực thi

Chuoi khong rong

Biến chuỗi thành chuỗi rỗng trong C++

Để biến một chuỗi thành rỗng, ta sẽ dùng phương thức clear.

Ví dụ:

#include 
#include 
using namespace std;

int main()
{
       string str="Isinhvien";

       cout << "Truoc khi xoa: "<< str<< endl;
       str.clear();
       cout << "Sau khi xoa: " << str;
}

Kết quả thực thi:

Truoc khi xoa: Isinhvien
Sau khi xoa:

Truy cập đến một phần tử trong chuỗi C++

Để truy vấn đến một thành phần trong chuỗi, ta hoàn toàn có thể làm 2 cách sau :

  • tên_chuỗi [vị_trí]
  • tên_chuỗi.at(vị_trí)

Nếu chương trình phát hiện hành vi truy xuất đến phần tử có chỉ số không hợp lệ (vị_trí < 0 hoặc vị trí >= string length), Chương trình sẽ kết thúc và thông báo dòng lệnh gây ra lỗi cho bạn.

Ta cũng hoàn toàn có thể truy vấn nhanh đến thành phần tiên phong trong chuỗi với phương pháp front ( ) và thành phần ở đầu cuối trong chuỗi với phương pháp back ( ) .

Ví dụ:

#include 
#include 
using namespace std;

int main()
{
       string str="Isinhvien";
       cout << " Phan tu thu 1:" << str.front() << endl;
       cout << " Phan tu thu 2:" << str[1] << endl;
       cout << " Phan tu thu 3:" << str.at(2) << endl;
       cout << " Phan tu thu 4:" << str.back() << endl;
       
}

Kết quả thực thi:

Phan tu thu 1:I
Phan tu thu 2:s
Phan tu thu 3:i
Phan tu thu 4:n

Thêm bớt vào kí tự cuối cùng của chuỗi trong C++

Để thêm một phần tử vào sau chuỗi, ta dùng phương thức push_back(), ngược lại phương thức pop_back() sẽ xóa đi kí tự cuối cùng hiện tại của chuỗi.

Ví dụ :

#include 
#include 
using namespace std;

int main()
{
       string str="Isinhviec";
       str.pop_back();
       str.push_back('n');
       cout << str;
       
}

Kết quả

Isinhvien

Nối chuỗi kí tự trong C++

Để nối thêm một chuỗi kí tự vào sau một chuỗi đã có, ta sẽ dùng phương thức append. Ta có thể nối với một chuỗi khác hoặc một mảng kí tự nào đó. Để tiết kiệm thời gian hơn. ta cũng có thể dùng toán tử += để nối 2 chuỗi với nhau.

Ví dụ:

#include 
#include 
using namespace std;

int main()
{
       string str="Isinhvien";
       string s="com";
       str.append(".");
       str+=s;
       cout << str;
}

Kết quả:

Isinhvien.com

So sánh 2 chuỗi với nhau trong C++

Để so sánh 2 chuỗi, ta sẽ dùng phương pháp compare, trả về 0 khi 2 chuỗi giống nhau trọn vẹn, lớn hơn 0 nếu chuỗi ta cần so lớn hơn và nhỏ hơn 0 nếu chuỗi ta cần so nhỏ hơn .
Ví dụ :

#include 
#include 
using namespace std;

int main()
{
       string str1;
       string str2;

       cout << "Nhap str1: "; cin>> str1;
       cout << "Nhap str2: "; cin>> str2;

       if(str1.compare(str2)==0)
       cout << "str1=str2";
       else if(str1.compare(str2)>0)
       cout << "str1>str2";
       else
       cout << "str1

Kết quả 1

Nhap str1: isinhvien
Nhap str2: Isinhvien
str1>str2

Kết quả 2:

Nhap str1: Isinhvien
Nhap str2: Isinhvien.com
str1

Đảo chuỗi trong C++

Để đảo một chuỗi trong C++ ta sẽ dùng hàm reverse, để dùng hàm nãy thì ta phải #include mới dùng được.

Ví dụ:

#include 
#include 
#include 
using namespace std;

int main()
{
       string str="Isinhvien";
       reverse(str.begin(), str.end());
       cout << str;
}

Kết quả:

neivhnisI

Hi vọng sau bài viết này thì các bạn sẽ thành thạo được các thao tác với chuỗi trong ngôn ngữ C++ nhé! Nếu thấy bài viết này của Isinhvien hay và bổ ích thì hãy chia sẻ nó đến với bạn bè của mình để ủng hộ cho Isinhvien và giúp Isinhvien ngày càng phát triển hơn nhé! Chúc các bạn thành công!

Bài viết khác liên quan đến chuỗi c++