>  기사  >  백엔드 개발  >  C++를 사용하여 주어진 문자열에서 부분 문자열로 나타나는 주어진 배열의 모든 문자열을 인쇄합니다.

C++를 사용하여 주어진 문자열에서 부분 문자열로 나타나는 주어진 배열의 모든 문자열을 인쇄합니다.

王林
王林앞으로
2023-08-29 13:01:03791검색

C++를 사용하여 주어진 문자열에서 부분 문자열로 나타나는 주어진 배열의 모든 문자열을 인쇄합니다.

프로그래밍의 세계에는 더 큰 텍스트에서 특정 패턴을 찾고 싶은 시나리오가 많이 있습니다. 일반적인 작업은 주어진 문자열 내에서 부분 문자열로 나타나는 주어진 배열의 모든 문자열을 찾아서 인쇄하는 것입니다. 이 겉보기에 기본적인 문제는 다양한 방법을 사용하여 해결할 수 있으며, 이 기사에서는 그 중 두 가지를 살펴보겠습니다. 우리는 각 방법에 사용되는 구문과 알고리즘에 대한 명확한 설명을 제공하고 두 개의 완전한 실행 가능 코드 예제를 제공합니다.

문법

메서드를 소개하기 전에 먼저 이 문제를 해결하는 데 사용할 구문을 이해해 봅시다 -

으아악

알고리즘

배열에서 특정 문자열의 하위 문자열로 나타나는 모든 문자열을 찾아 인쇄하는 문제를 해결하려면 다음 단계별 알고리즘을 따를 수 있습니다.

  • 일치하는 문자열을 저장하려면 빈 벡터를 초기화하세요.

  • 배열의 각 문자열을 반복하세요.

  • 현재 문자열이 주어진 텍스트의 하위 문자열인지 확인하세요.

  • 가설은 일치하는 문자열의 벡터에 문자열을 추가하는 것입니다.

  • 모든 문자열을 반복한 후 일치하는 문자열의 벡터를 인쇄합니다.

방법 1: string.find() 함수 사용

이 기술에서는 문자열에서 하위 문자열의 위치를 ​​반환하는 string.find() 함수를 사용합니다. 하위 문자열을 찾을 수 없으면 string::npos라는 특수 값을 반환합니다.

으아악

출력

으아악

방법 2: 정규식 사용

정규식은 문자열의 패턴 일치를 위한 강력한 도구를 제공합니다. 우리는 또한 문제를 해결하기 위해 그것들을 사용할 수도 있습니다.

으아악

출력

으아악

올바른 방법을 선택하세요

두 가지 방법 중 하나를 선택하는 것은 특정 문제의 요구 사항에 따라 다릅니다−

다음과 같은 경우에는 string.find() 메서드를 사용하세요.

맞춰야 할 패턴은 비교적 간단합니다.

간단한 패턴의 경우 string.find() 메서드가 정규식보다 빠를 수 있으므로 성능이 문제입니다.

정규식 구문이 필요 없는 간단한 구현을 선호합니다.

다음과 같은 경우 정규 표현식 방법을 사용하세요

일치할 패턴이 복잡하고 고급 패턴 일치 기능이 필요합니다.

유연성과 강력한 패턴 매칭이 중요합니다.

성능이 중요한 요소가 아니거나 패턴의 복잡성으로 인해 정규식 사용이 정당화됩니다.

결론

이 글에서는 배열의 주어진 문자열에서 부분 문자열의 발생을 찾아 인쇄하는 문제를 처리하는 두 가지 독특한 방법을 살펴보았습니다. 기본 메서드는 간단하고 간단한 솔루션인 string.find() 함수를 사용합니다. 후속 방법에서는 정규식의 강력한 기능을 활용하여 보다 복잡한 패턴 일치 상황을 처리했습니다. 특정 문제의 필요에 따라 가장 적절한 방법을 선택할 수 있습니다. 패턴 매칭은 프로그래밍의 기본 작업이며, 다양한 방법과 전략을 잘 이해하면 문제 해결 능력이 크게 향상될 수 있다는 점을 기억하세요. 따라서 다음에 비슷한 문제가 발생하면 효과적으로 처리할 수 있는 충분한 지식을 갖게 될 것입니다.

위 내용은 C++를 사용하여 주어진 문자열에서 부분 문자열로 나타나는 주어진 배열의 모든 문자열을 인쇄합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제