CLX C++ Libraries - replace
Author: clown

CLX C++ Libraries
Home >> salgorithm>> replace

# Declarations

    String& replace(String& s, const String& sch, const String& rep,
        unsigned int nth = 1);
    String replace_copy(const String& s, const String& sch, const String& rep,
        unsigned int nth = 1);
    String& replace_all(String& s, const String& sch, const String& rep);
    String replace_all_copy(const String& s, const String& sch, const String& rep);

# Overview

replace() は，文字列中に存在する n 番目の文字列 sch を文字列 rep に置換します．これに対して，replace_all() は文字列中に存在する全ての文字列 sch を文字列 rep に置換します．replace_copy()，replace_all_copy() は，引数として指定された文字列を直接変更せず，コピーした文字列を変更します．

尚，Declarations においては template < ... > の部分を省略していますが， 単語の先頭が大文字になっているものはテンプレート引数として渡される型です（ただし， String は std::basic_string<CharT, Traits>）．

# Example

example_replace.cpp

    #include <iostream>
    #include <string>
    #include "clx/salgorithm.h"

    int main(int argc, char* argv[]) {
        std::string s = "apple apple apple apple apple";

        std::cout << "original: " << s << std::endl;
        std::cout << "replace from apple to orange" << std::endl;
        std::cout << "replace (4th): " << clx::replace_copy(s, "apple", "orange", 4)
            << std::endl;
        std::cout << "replace_all: " << clx::replace_all_copy(s, "apple", "orange")
            << std::endl;

        return 0;
    }

    Result
    original: apple apple apple apple apple
    replace from apple to orange
    replace (4th): apple apple apple orange apple
    replace_all: orange orange orange orange orange