basic_string substr(size_type pos = 0, size_type count = npos) const;
문자열의 일부를 리턴한다.
문자열의 pos 번째 문자 부터 count ( len ) 길이 만큼의 문자열을 리턴한다.
한마디로 시작 ( pos ) 부터 몇개 ( count ) 추출할건가~~ 이다.
만일, 인자로 전달된 부분 문자열 ( [ pos ] ~ [ pos + count ] ) 의 길이가 전체 문자열 보다 길다면, 문자열의 끝 까지만 잘라 리턴한다.
또한, count 에 아무런 인자도 주지 않는다면 default 인 npos 를 넘겨준다. pos 부터 원래 문자열의 끝 까지 리턴한다.
만일
- pos 가 원래 문자열의 길이보다 길다면 std::out_of_range 의 run-time 에러를 발생시킨다.
- pos 가 음수라면 run-time 에러를 발생 시킨다.
[ 예시 ]
string str1 = "Hi there. this is Mr.kim";
string str2, str3, str4;
str2 = str1.substr(3,5); // 3번째 부터 5개 추출.
str3 = str1.substr(9); // 9번째 부터 전체 추출. ( 공백도 카운트 포함 )
str4 = str1.substr(str1.find("is")); // 첫번째 'is' 부터 전체 추출.
cout << str2 << endl;
cout << str3 << endl;
cout << str4 << endl;
[ 출력 ]
there
this is Mr.kim
is is Mr.kim
'Language & etc > Reference' 카테고리의 다른 글
assert 함수 (0) | 2022.04.17 |
---|---|
string 의 erase (0) | 2021.11.26 |
std :: istringstream 에 대해서 (0) | 2021.11.15 |