Hướng dẫn cách sử dụng hàm substr trong C++. Bạn sẽ học được cách sử dụng hàm substr để cắt chuỗi con ra từ chuỗi string ban đầu trong C++ sau bài học này.
substr trong C++
Hàm substr là một hàm thành viên trong class std:string, có tác dụng cắt chuỗi con ra từ chuỗi string ban đầu bằng cách chỉ định vị trí và độ dài chuỗi cần cắt. Phép cắt string bằng hàm substr trong C++ không làm thay đổi chuỗi ban đầu mà sẽ lưu kết quả cắt vào một string mới.
Như các hàm khác trong class str:string thì để sử dụng hàm substr, chúng ta cần include header file string vào đầu chương trình.
Cú pháp sử dụng hàm substr để cắt string trong C++ như sau:
str.substr(start, length);
Trong đó str
là chuỗi ban đầu, start
là vị trí bắt đầu cắt, và length
là độ dài (số ký tự) cần cắt ra. Nếu không chỉ định length
thì mặc định sẽ cắt từ vị trí chỉ định cho tới cuối chuỗi string ban đầu.
Cắt string từ vị trí chỉ định tới cuối string trong C++
Khi lược bỏ đối số length
thì mặc định chương trình sẽ cắt từ vị trí chúng ta chỉ định cho tơi vị trí cuối chuỗi. Ví dụ cụ thể:
Ví dụ cụ thể:
|
Kết quả, một chuỗi con được tách ra từ vị trí index bằng 6 tới cuối chuỗi ban đầu như sau:
World! |
Cắt một phạm vi trong string C++
Khi chỉ định giá trị của đối số length
, khi đó một phạm vi bắt đầu từ vị trí chỉ định và có độ dài băng length
sẽ được cắt ra từ chuỗi string ban đầu. Ví dụ:
|
Kết quả, các chuỗi string được cắt trong phạm vi chỉ định như sau:
ell |
Cắt chuỗi con từ cuối lên đầu string trong C++
Hàm substr chỉ có tác dụng cắt theo chiều thuận từ đầu tới cuối chuỗi string. Và trong C++ cũng không có hàm nào có thể giúp chúng ta cắt chuỗi con từ cuối lên đầu string, nên chúng ta sẽ phải tự viết hàm để làm được điều này.
Dưới đây là một hàm mẫu ứng dụng hàm substr để thực hiện xử lý cắt từ cuối lên đầu string trong C++.
|
Kết quả:
lo |
Lưu ý là ở ví dụ cuối cùng, chúng ta sử dụng str.length() để thu về độ dài của chuỗi, cũng chính là vị trí đứng trước vị trí cuối cùng trong chuỗi.
- Xem thêm: Cắt độ dài string trong C++
Lưu ý khi cắt string trong C++ bằng hàm substr
Khi sử dụng hàm substr, chúng ta cần lưu ý phép cắt string bằng hàm substr trong C++ không làm thay đổi chuỗi ban đầu mà sẽ lưu kết quả cắt vào một string mới.
Thật vậy, chuỗi ban đầu không hề bị thay đổi sau khi bị cắt bằng hàm substr như sau:
|
Kết quả:
ell |
Có thể thấy rõ chuỗi str ban đầu không hề thay đối sau khi bị cắt một phạm vi từ nó.
Vậy nên nếu bạn muốn sử dụng kết quả phép cắt string nhiều lần trong chương trình, hãy luôn chuẩn bị sẵn một chuỗi string để chứa kết quả phép cắt nhé.
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về hàm substr trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/string-trong-cpp/substr-trong-cpp/
HOME › lập trình c++ cơ bản dành cho người mới học lập trình>>11. hàm trong c++