(→개요) |
|||
9번째 줄: | 9번째 줄: | ||
int main() { | int main() { | ||
string | string in = "abc,defgh,ijk"; | ||
regex rx(","); | regex rx(","); | ||
sregex_token_iterator iter( | sregex_token_iterator iter(in.begin(), in.end(), rx, -1), end; | ||
vector<string> strs{iter, end}; | vector<string> strs{iter, end}; | ||
for (string | for (string s: strs) cout << s << ' '; // abc defgh ijk | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
24번째 줄: | 24번째 줄: | ||
int main() { | int main() { | ||
string | string in = "abc,defgh,ijk"; | ||
vector<string> strs; | vector<string> strs; | ||
istringstream ss( | istringstream ss(in); | ||
for (string s; getline(ss, s, ','); ) { | for (string s; getline(ss, s, ','); ) { | ||
strs.push_back(s); | strs.push_back(s); | ||
} | } | ||
for (string | for (string s: strs) cout << s << ' '; // abc defgh ijk | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
2023년 9월 24일 (일) 14:46 판
1 개요
- C++ 문자열 split() 구현
C++
Copy
#include <iostream>
#include <regex>
#include <vector>
using namespace std;
int main() {
string in = "abc,defgh,ijk";
regex rx(",");
sregex_token_iterator iter(in.begin(), in.end(), rx, -1), end;
vector<string> strs{iter, end};
for (string s: strs) cout << s << ' '; // abc defgh ijk
}
Loading
C++
Copy
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int main() {
string in = "abc,defgh,ijk";
vector<string> strs;
istringstream ss(in);
for (string s; getline(ss, s, ','); ) {
strs.push_back(s);
}
for (string s: strs) cout << s << ' '; // abc defgh ijk
}
Loading
2 같이 보기
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.