C++에서 문자열을 토큰으로 분리하는 방법

C++에서 문자열을 토큰으로 분리할 때 흔히 사용하는 방법은 strtokBoost Tokenizer를 사용하는 것입니다. 다음은 토큰화를 직접 구현한 소스 코드입니다.

vector<string> tokenize(const string& input_string, const string& delimiter)
{
	vector<string> output_tokens;
	string::size_type delimiter_position = 0;

	for (;;)
	{
		string::size_type token_position =
			input_string.find_first_not_of(delimiter, delimiter_position);
		if (token_position == string::npos)
			break;

		delimiter_position = input_string.find_first_of(delimiter, token_position);
		output_tokens.push_back(
			input_string.substr(token_position, delimiter_position - token_position));
	}

	return output_tokens;
}
Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중