> 백엔드 개발 > C++ > 쉼표로 구분된 정수 문자열을 배열로 효율적으로 구문 분석하는 방법은 무엇입니까?

쉼표로 구분된 정수 문자열을 배열로 효율적으로 구문 분석하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-22 07:12:10
원래의
367명이 탐색했습니다.

How to Efficiently Parse a Comma-Separated String of Integers into an Array?

쉼표로 구분된 정수 문자열 구문 분석

이 질문의 작업에는 쉼표로 구분된 정수가 포함된 문자열을 정수 배열로 구문 분석하는 작업이 포함됩니다. . 이를 달성하려면 다음과 같은 간단한 접근 방식이 권장됩니다.

입력 처리:

  1. 입력 문자열에서 문자열 스트림을 생성합니다.
  2. 반복 문자열 스트림을 문자별로 읽습니다.
  3. 쉼표가 나올 때까지 각 숫자를 읽습니다. (',').

쉼표 처리:

  1. 숫자를 추출한 후 문자열 스트림에서 다음 문자를 확인하세요.
  2. 쉼표인 경우 폐기하고 다음 숫자로 넘어갑니다.
  3. 그렇지 않은 경우 반복은 계속해서 다음 숫자를 추출합니다.

배열 채우기:

  1. 추출된 각 숫자를 정수 벡터에 추가합니다( 필요에 따라 동적 크기 조정을 허용합니다).

예 구현:

다음은 이 접근 방식을 보여주는 C 코드 예입니다.

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

int main()
{
    std::string str = "1,2,3,4,5,6";
    std::vector<int> vect;

    std::stringstream ss(str);

    for (int i; ss >> i;) {
        vect.push_back(i);    
        if (ss.peek() == ',')
            ss.ignore();
    }

    for (std::size_t i = 0; i < vect.size(); i++)
        std::cout << vect[i] << std::endl;
}
로그인 후 복사

이점:

  • 이 접근 방식 이해하고 구현하기 쉽습니다.
  • 큰 문자열을 구문 분석하는 데 효율적입니다. 쉼표로 구분된 수많은 숫자로 구성됩니다.
  • 필요에 따라 특수 문자 또는 기타 시나리오를 추가로 처리하도록 사용자 정의할 수 있습니다.

위 내용은 쉼표로 구분된 정수 문자열을 배열로 효율적으로 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿