首頁 > 後端開發 > C++ > 主體

如何在 C 語言中有效率地替換字串中的文字?

Barbara Streisand
發布: 2024-11-08 03:18:01
原創
542 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板