문자열 조각을 새 문자열로 바꾸기
문자열의 특정 부분을 대체 문자열로 바꾸는 것은 프로그래밍에서 일반적인 작업입니다. C에서 표준 라이브러리는 이를 달성하기 위한 편리한 솔루션을 제공합니다.
하위 문자열을 바꾸려면 find() 함수를 활용하여 원래 문자열 내에서 대상 하위 문자열의 시작 위치를 찾을 수 있습니다. 그런 다음, replacement() 함수를 활용하여 대상 하위 문자열을 원하는 대체 문자열로 대체할 수 있습니다.
다음 코드 조각은 프로세스를 보여줍니다.
bool replace(std::string& str, const std::string& from, const std::string& to) { size_t start_pos = str.find(from); if(start_pos == std::string::npos) return false; str.replace(start_pos, from.length(), to); return true; } std::string string("hello $name"); replace(string, "$name", "Somename");
이 접근 방식을 사용하면 필요에 따라 문자열의 일부를 효과적으로 수정할 수 있습니다.
다중 처리 교체
특정 시나리오에서는 문자열 내 특정 하위 문자열의 여러 인스턴스를 교체해야 할 수도 있습니다. 이 문제를 해결하려면 다음과 유사한 replacementAll() 함수를 고려해 보세요.
void replaceAll(std::string& str, const std::string& from, const std::string& to) { if(from.empty()) return; size_t start_pos = 0; while((start_pos = str.find(from, start_pos)) != std::string::npos) { str.replace(start_pos, from.length(), to); start_pos += to.length(); // In case 'to' contains 'from', like replacing 'x' with 'yx' } }
이 함수는 문자열을 반복하여 지정된 하위 문자열의 모든 항목을 찾아 제공된 대체 문자열로 바꿉니다.
위 내용은 C에서 부분 문자열을 효율적으로 대체하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!