알고리즘/Basic C++
Basic C++ : split()
masacorgi
2024. 12. 17. 18:28
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(문자열, 구분자)로 사용할 수 있고, 분리된 문자열들이 배열로 반환된다.