>백엔드 개발 >C++ >C에서 문자열 내의 텍스트를 효율적으로 바꾸는 방법은 무엇입니까?

C에서 문자열 내의 텍스트를 효율적으로 바꾸는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-08 03:18:01615검색

How to Efficiently Replace Text within a String in C  ?

표준 문자열에서 텍스트 찾기 및 바꾸기

다양한 프로그래밍 시나리오에서는 특정 문자나 하위 문자열을 바꿔 문자열을 조작하는 것이 필수적입니다. C의 표준 문자열의 경우 검색 및 바꾸기 작업을 수행하는 효과적인 방법이 있습니다.

std::replace 함수 사용

std::replace 함수 문자열 내에서 부분 문자열을 바꾸는 간단한 방법을 제공합니다. std::replace 구문은 다음과 같습니다.

std::string& replace(std::size_t pos, std::size_t n, const std::string& str);

여기서 pos는 시작 위치를 나타내고, n은 대체할 문자 수, str은 대체 문자열을 나타냅니다.

예:

다음 문자열을 고려하세요.

std::string s("One hello, two hellos.");

"hello"의 모든 인스턴스를 "world"로 바꾸려면 다음 코드를 사용할 수 있습니다.

s.replace(s.find("hello"), s.find("hello") + 5, "world"); // Find the position of "hello", replace 5 characters (length of "hello") with "world"

boost::replace_all 사용

Boost 라이브러리는 Boost::replace_all 기능을 사용하여 찾기 및 바꾸기 작업을 수행하는 데 더 편리한 옵션을 제공합니다. 문자열, 찾을 문자열, 바꿀 문자열이 필요합니다.

예:

다음에서 "foo"를 모두 "bar"로 바꾸려면 다음 문자열:

std::string target("Would you like a foo of chocolate. Two foos of chocolate?");

boost::replace_all을 사용하면 다음과 같이 할 수 있습니다.

#include <boost/algorithm/string.hpp> // Include the Boost library

...

boost::replace_all(target, "foo", "bar");

위 내용은 C에서 문자열 내의 텍스트를 효율적으로 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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