C++의 문자열에서 첫 번째 문자 제거
이 게시물은 C++의 문자열에서 첫 번째 문자를 제거하는 방법에 대해 설명합니다.
1. 사용 string::erase
문자열에서 문자를 제자리에서 제거하는 데 권장되는 솔루션은 다음을 사용하는 것입니다. string::erase
기능. 다음 C++ 프로그램은 범위 오버로드를 사용하여 사용법을 보여줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> #include <string> int main() { std::string str = "ABCD"; str.erase(0, 1); std::cout << str << std::endl; // BCD return 0; } |
그만큼 string::erase
함수도 반복자를 허용하도록 오버로드됩니다. 반복자는 문자열에서 제거해야 하는 요소를 가리켜야 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> #include <string> int main() { std::string str = "ABCD"; str.erase(str.begin()); std::cout << str << std::endl; // BCD return 0; } |
호출하기 전에 빈 문자열을 확인하는 것이 좋습니다. string::erase
기능. 그렇지 않으면 코드가 std::length_error
빈 입력 시퀀스에 대한 예외입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> #include <string> int main() { std::string str = "ABCD"; if (!str.empty()) { str.erase(str.begin()); } std::cout << str << std::endl; // BCD return 0; } |
특정 문자와 일치하는 경우에만 첫 번째 문자를 제거하려면 다음과 같이 하십시오.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> #include <string> int main() { std::string str = "ABCD"; char ch = 'A'; if (str.front() == ch) { str.erase(str.begin()); } std::cout << str << std::endl; // BCD return 0; } |
2. 사용 string::substr
그만큼 string::erase
제자리 함수는 문자열을 수정합니다. 마지막 문자가 제거된 원래 문자열의 복사본을 얻으려면 다음을 사용하십시오. string::substr
기능.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> #include <string> int main() { std::string str = "ABCD"; std::string s; if (!str.empty()) { s = str.substr(1, str.size() - 1); } std::cout << s << std::endl; // BCD return 0; } |
C++의 문자열에서 첫 번째 문자를 제거하는 것이 전부입니다.
또한 참조: