C++ split() 구현
- 프로그래밍/C언어
- 2023. 3. 28.
250x250
C++ split() 구현.
안녕하세요.
오늘은 c++에서 split()을 지원하지 않기 때문에 split에 대해 찾아봤습니다.
- split() 코드.
- 실행 결과.
Split() 코드.
코드는 아래와 같습니다.
1. code.
#include <bits/stdc++.h>
using namespace std;
vector<string> split(string input,string delim){
vector<string> result;
long long pos;
while((pos=input.find(delim))!=string::npos){
result.push_back(input.substr(0,pos));
input.erase(0,pos+delim.length());
}
result.push_back(input);
return result;
}
int main() {
string a="hi my name is tom";
string delim="name";
vector<string> tmp;
tmp=split(a,delim);
for(auto v:tmp){
cout<<v<<"\n";
}
return 0;
}
2. stringstream을 사용한 Code.
#include <bits/stdc++.h>
using namespace std;
vector<string> split(string input,char delim){
vector<string> result;
stringstream ss(input);
string tmp;
while(getline(ss,tmp,delim)){
result.push_back(tmp);
}
return result;
}
int main() {
string a="hi my name is tom";
char delim=' ';
vector<string> tmp;
tmp=split(a,delim);
for(auto v:tmp){
cout<<v<<"\n";
}
return 0;
}
실행
1. code delim을 문자로 설정했을때 실행결과.
delim을 공백으로 설정했을때.
2. delim 공백.
주요 코드 설명
문자열을 나눠주는 함수로 이것 말고도 방법은 더 있습니다.