C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で文字列の一部を別の文字列に置き換えます


ここでは、C++で文字列の一部を別の文字列に置き換える方法を説明します。 C ++では、置換は非常に簡単です。 string.replace()という関数があります。この置換関数は、一致の最初の出現のみを置換します。すべてのためにそれを行うために、ループを使用しました。この置換関数は、置換する場所からインデックスを取得し、文字列の長さを取得し、一致した文字列の代わりに配置される文字列を取得します。

Input: A string "Hello...Here all Hello will be replaced", and another string to replace "ABCDE"
Output: "ABCDE...Here all ABCDE will be replaced"

アルゴリズム

Step 1: Get the main string, and the string which will be replaced. And the match string
Step 2: While the match string is present in the main string:
Step 2.1: Replace it with the given string.
Step 3: Return the modified string

サンプルコード

#include<iostream>
using namespace std;
main() {
   int index;
   string my_str = "Hello...Here all Hello will be replaced";
   string sub_str = "ABCDE";
   cout << "Initial String :" << my_str << endl;
   //replace all Hello with welcome
   while((index = my_str.find("Hello")) != string::npos) {    //for each location where Hello is found
      my_str.replace(index, sub_str.length(), sub_str); //remove and replace from that position
   }
   cout << "Final String :" << my_str;
}

出力

Initial String :Hello...Here all Hello will be replaced
Final String :ABCDE...Here all ABCDE will be replaced

  1. C ++で文字列をトークン化しますか?

    最初の方法は、文字列ストリームを使用して、スペースで区切られた単語を読み取ることです。これは少し制限されていますが、適切なチェックを提供すれば、タスクはかなりうまくいきます。 例 #include <vector> #include <string> #include <sstream> using namespace std; int main() {    string str("Hello from the dark side");    string tmp; // A string

  2. Pythonで文字列のすべての出現箇所を別の文字列に置き換えるにはどうすればよいですか?

    Pyhtonには、文字列クラスでreplaceというメソッドがあります。入力として、置き換える文字列と置き換える文字列を取ります。文字列オブジェクトで呼び出されます。このメソッドを次の方法で呼び出して、すべての「no」を「yes」に置き換えることができます。 >>> 'no one knows how'.replace('no', 'yes') 'yes one kyesws how' >>> "chihuahua".replace("hua", &quo