C++ 문자열을 substr 함수를 사용해 자르는 방법을 알아보겠습니다.
substr
문자열에서 원하는 위치에 있는 문자열을 취득하기 위해 substr 함수를 사용합니다.
substr 함수 기본적인 사용 방법을 보겠습니다.
문자열.substr(시작 위치, 길이)
- 첫 번째 인수에는 시작 위치를, 두 번째 인수에는 취득하고 싶은 문자수를 지정합니다.
- 문자열 시작은 0부터 입니다.
substr 샘플을 보겠습니다.
#include <iostream>
using namespace std;
int main() {
string str1 = "abcde";
cout << str1.substr(0, 1) << endl; // a
cout << str1.substr(1, 1) << endl; // b
cout << str1.substr(2, 1) << endl; // c
cout << str1.substr(0, 2) << endl; // ab
cout << str1.substr(1, 2) << endl; // bc
return 0;
}
결과
a
b
c
ab
bc
지정 위치에서부터 지정한 길이만큼 문자열을 취득합니다.
두 번째 인수인 길이는 생략할 수 있습니다.
생략하는 경우에는 지정한 위치부터 마지막까지 문자열을 취득합니다.
#include <iostream>
using namespace std;
int main() {
string str1 = "abcde";
cout << str1.substr(1) << endl; // bcde
cout << str1.substr(2) << endl; // cde
cout << str1.substr(3) << endl; // de
return 0;
}
결과
bcde
cde
de
지정한 위치부터 마지막 문자열까지 취득한 것을 볼 수 있습니다.
뒤에서부터 자르기
substr 함수를 사용해 문자열 뒤에서부터 자르는 방법을 보겠습니다.
#include <iostream>
using namespace std;
int main() {
string str1 = "abcde";
cout << str1.substr(str1.length() - 1) << endl; //e
cout << str1.substr(str1.length() - 2) << endl; //de
cout << str1.substr(str1.length() - 3) << endl; //cde
return 0;
}
결과
e
de
cde
문자열의 길이를 구하는 length 함수를 사용했습니다.
문자열 길이에서 취득하고 싶은 문자열 길이만큼 빼고, 그 값이 시작 위치가 됩니다.
substr과 length 함수를 사용해 뒤에서부터 문자열을 취득하는 방법을 알아봤습니다.
댓글