C++은 STL에서 split() 함수를 지원하지 않기때문에 만들어서 써야한다.
vector<string> split(const string& input, string delimiter){
vector<string> result;
auto start = 0; // 시작위치
auto end = input.find(delimiter); // 첫번째 구분자 위치
while(end != string::npos){
result.push_back(input.substr(start, end - start));
//result에 substring으로 시작위치부터 end위치(구분자 전)까지 잘라서 넣음
start = end + delimiter.size();
// start위치 갱신(end위치 + 구분자크기(1))
end = input.find(delimiter, start);
// end 위치 갱신(start 위치 이후 구분자 위치)
}
result.push_back(input.substr(start));
return result;
}
split(문자열, 구분자)로 사용할 수 있고, 분리된 문자열들이 배열로 반환된다.
'알고리즘 > Basic C++' 카테고리의 다른 글
Basic C++ : Methods (1) | 2024.12.20 |
---|---|
Basic C++ : Memory & Pointer (0) | 2024.12.19 |
Basic C++ : unsync with stdio (1) | 2024.12.17 |
Basic C++ : Types (2) | 2024.12.14 |
Basic C++ : Input & Output (0) | 2024.12.12 |