>백엔드 개발 >C++ >C에서 여러 구분 기호로 문자열을 분할하는 방법은 무엇입니까?

C에서 여러 구분 기호로 문자열을 분할하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-21 18:03:10383검색

How to Split Strings with Multiple Delimiters in C  ?

여러 구분 기호로 문자열 분할

텍스트 작업을 할 때 문자열을 개별 단어나 토큰으로 분할해야 하는 경우가 많습니다. 단일 구분 기호가 부족한 경우 여러 구분 기호를 활용하여 이 작업을 수행하는 방법은 다음과 같습니다.

구분 기호 중 하나가 개행 문자라고 가정하고 다음 코드 조각은 문자열 스트림에서 텍스트를 읽고 분할하는 방법을 보여줍니다. 행으로 나누고 지정된 구분 기호를 기준으로 각 행을 더욱 세분화합니다.

std::stringstream stringStream(inputString);
std::string line;
while(std::getline(stringStream, line)) 
{
    std::size_t prev = 0, pos;
    while ((pos = line.find_first_of(" ';", prev)) != std::string::npos)
    {
        if (pos > prev)
            wordVector.push_back(line.substr(prev, pos-prev));
        prev = pos+1;
    }
    if (prev < line.length())
        wordVector.push_back(line.substr(prev, std::string::npos));
}

이 코드에서 행 문자열은 읽고 후속 처리됩니다. find_first_of 함수는 지정된 구분자 문자열(이 경우 "';")에서 문자가 처음 나타나는 것을 검색하는 데 사용됩니다. 구분 기호 사이의 단어를 추출하고, 줄의 시작이나 끝 부분에 있는 단어도 캡처합니다. 그런 다음 토큰이 wordVector에 추가됩니다.

위 내용은 C에서 여러 구분 기호로 문자열을 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.