"C++ preg split() 구현"의 두 판 사이의 차이

잔글 (Jmnote님이 C++ 문자열 split() 구현 문서를 C++ 문자열 preg split() 구현 문서로 이동했습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
{{DISPLAYTITLE:C++ 문자열 preg_split() 구현}}
;C++ 문자열 split() 구현
;C++ 문자열 split() 구현
;C++ 문자열 preg_split() 구현


<syntaxhighlight lang='cpp' run>
<syntaxhighlight lang='cpp' run>
52번째 줄: 54번째 줄:
==같이 보기==
==같이 보기==
* [[C++ 문자열]]
* [[C++ 문자열]]
* [[함수 split()]]
* [[함수 preg_split()]]


[[분류: C++ 문자열]]
[[분류: C++ 문자열]]

2023년 9월 29일 (금) 15:47 판

1 개요

C++ 문자열 split() 구현
C++ 문자열 preg_split() 구현
C++
Copy
#include <iostream>
#include <vector>
#include <regex>
using namespace std;

int main() {
    string in = "aaa1bbb2ccc";
    
    regex rx("[0-9]");
    sregex_token_iterator iter(in.begin(), in.end(), rx, -1), end;
    vector<string> strs{iter, end};
    for (string s: strs) cout << s << ' '; // aaa bbb ccc 
}
Loading
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 같이 보기