주 사용 언어는 C++이었는데 올해 학교에서 python을 사용할 일이 많아서 사용하다보니 string 방면에서 너무너무 편하다는 것을 느꼈다. 다시 C++로 코드를 짜려니 마땅한 함수가 없어 힘들다. 특히 split이 그립다.
그래서 C++에서 쓸 수 있는 split 함수를 알아보았다.
: 주어진 문자열에서 필요한 자료형에 맞는 정보를 빼낼 때 유용하게 사용
stringstream에서 공백과 줄바꿈을 제외하고 문자열에서 맞는 자료형의 정보를 빼냄.
stream.str("");
: 함수는 입력 스트림에서 문자들을 읽어서, 인자로 받은 문자열에 저장
#include <iostream>
#include <vector>
#include <sstream> // stringstream
using namespace std;
vector<string> split(string input, char delimiter) {
// delimiter: 구분문자
vector<string> answer;
stringstream ss(input);
string temp;
while(getline(ss, temp, delimiter)) {
answer.push_back(temp);
}
return answer;
}
int main(){
string str = "Ha yoon kyung";
vector<string> result = split(str, ' ');
for(int i=0; i<result.size(); i++){
cout << result[i] << " ";
}
return 0;
}