[cpp] 문자열 다루기

roopre·2022년 5월 25일
0

코딩테스트준비

목록 보기
3/6

split

#include <iostream>
#include <vector>
#include <sstream>
#include <string>

vector<string> split(string input, char delimiter) {
	vector<string> answer;
    stringstream ss(input);
    string temp;
    
    while(getline(ss,temp,delimiter)) {
    	answer.push_back(temp);
    }
    return answer;
 }
 
 int main(void) {
   string test = "this is test";
   vector<string> result = split(test, ' ');
   for(int i=0;i<result.size();i++) {
      cout << result[i] << " ";
   }
    
 }

find, substr 이용

int main(void) {
	string str = "a,b,c,d";
    int previous = 0;
    int current = 0;
    vector<string> x;
    x.clear();
    
   
    
    while( (current != str.find(',',previous)) != string::npos) {
    	string substring = str.substr(previous,current-previous);
        x.push_back(substring);
        previous = current+1;
       	}
    x.push_back(str.substr(previous,current-previous));
    for(int i=0;i<x.size();i++) {
    	cout << x[i] << endl;
    }
    
    return 0;
    
 }
        

profile
Roopretelcham

0개의 댓글