본문 바로가기
  • Masacorgi 's Dev Bloggg
알고리즘/Basic C++

Basic C++ : split()

by masacorgi 2024. 12. 17.

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