Các hàm xử lý chuỗi phần 2
Thuộc phần Kiến thức nền tảng trong hành trình C++ của Coddy. Bài học 71 trên 74.
Dưới đây là một số hàm hữu ích khác dành cho chuỗi:
- erase(pos, len): Xóa len ký tự bắt đầu từ vị trí pos khỏi chuỗi hiện tại.
- find(str): Trả về vị trí xuất hiện đầu tiên của str trong chuỗi hiện tại. Nếu không tìm thấy, trả về một đối tượng có thể so sánh với -1.
- clear(): Xóa tất cả ký tự khỏi chuỗi, khiến chuỗi trở thành chuỗi rỗng.
empty(): Trả về true nếu chuỗi (string) rỗng, false nếu không.
Ví dụ, dùng chuỗi sau:
std::string str = "Hello, World!";int pos = str.find("World");
// Đầu ra: pos = 7 (vị trí bắt đầu của "World")str.erase(5, 2);
// Đầu ra: "HelloWorld!"str.clear();
// Đầu ra: "" (chuỗi rỗng)bool isEmpty = str.empty();
// Trả về true nếu str không có ký tự nàoThử thách
DễTạo một hàm (function) có tên stringSearchOperations, nhận một chuỗi (string) làm đầu vào và thực hiện các thao tác sau bằng các hàm xử lý chuỗi:
- Tìm và in ra vị trí của ký tự dấu cách đầu tiên trong chuỗi.
- Xóa 4 ký tự bắt đầu từ vị trí 5.
- Kiểm tra xem chuỗi có chứa từ "You" hay không, rồi in ra "Found" hoặc "Not Found".
- Xóa nội dung chuỗi rồi kiểm tra xem chuỗi có rỗng hay không.
- In ra kết quả sau mỗi thao tác.
Dùng định dạng sau:
Space Found At: [Position of space]
After Erase: [String after erasing]
Contains You: [Found/Not Found]
Is Empty: [true/false]Tự làm thử
#include <iostream>
#include <string>
void stringSearchOperations(std::string str) {
// Tìm dấu cách đầu tiên
// Xóa 4 ký tự bắt đầu từ vị trí 5
// Kiểm tra xem chuỗi có chứa "You" không
// Xóa nội dung chuỗi và kiểm tra xem chuỗi có rỗng không
}
int main() {
std::string str;
std::getline(std::cin, str);
stringSearchOperations(str);
return 0;
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
6Ra quyết định
Câu lệnh ifIf và elseCâu lệnh switchToán tử điều kiệnÔn tập if và elseIf và else lồng nhau9Vòng lặp
Vòng lặp for phần 1Vòng lặp whileVòng lặp do whileBreakContinueVòng lặp for phần 2Vòng lặp lồng nhauVòng lặp vô hạnÔn tập: đầu vào động12Chuỗi
Chuỗi kiểu C phần 1Chuỗi kiểu C phần 2Các thao tác với chuỗiCác hàm xử lý chuỗi phần 1Các hàm xử lý chuỗi phần 2Tự luyện tập: Trình biên dịch C++ online