logo

C++ řetězec nahradit()

Tato funkce nahrazuje část řetězce, která začíná na pozici znaku pos a zahrnuje znaky len.

Syntax

Uvažujme dva řetězce str1 a str2. Syntaxe by byla:

 str1.replace(pos,len,str2); 

Parametry

    str :str je objekt typu string, jehož hodnota má být zkopírována do jiného objektu typu string.pozice:pos definuje pozici, jejíž znak má být nahrazen.jen :Počet znaků, které mají být nahrazeny jiným objektem typu řetězec.subpos:Definuje pozici prvního znaku objektu typu string, který má být zkopírován do jiného objektu jako náhrada.sublen:Počet znaků objektu typu string, které mají být zkopírovány do jiného objektu typu string.n :Počet znaků, které mají být zkopírovány do jiného řetězcového objektu.

Návratová hodnota

Tato funkce nevrací žádnou hodnotu.

Příklad 1

První příklad ukazuje, jak nahradit daný řetězec pomocí pozice a délky jako parametrů.

 #include using namespace std; int main() { string str1 = &apos;This is C language&apos;; string str2 = &apos;C++&apos;; cout &lt;&lt; &apos;Before replacement, string is :&apos;&lt;<str1<<'
'; str1.replace(8,1,str2); cout << 'after replacement, string is :'<<str1<<'
'; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Before replacement , string is This is C language After replacement, string is This is C++ language </pre> <h2>Example 2</h2> <p>Second example shows how to replace given string using position and length of the string which is to be copied in another string object.</p> <pre> #include using namespace std; int main() { string str1 =&apos;This is C language&apos; string str3= &apos;java language&apos;; cout &lt;<'before replacement, string is '<<str1<<'
'; str1.replace(8,1,str3,0,4); cout<<'after replacement,string return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Before replacement, String is This is C language After replacement, String is This is java language </pre> <h2>Example 3</h2> <p>Third example shows how to replace the string by using string and number of characters to be copied as parameters.</p> <pre> #include using namespace std; int main() { string str1=&apos;This is C language&apos;; cout&lt;<'before replacement,string is'<<str1<<'
'; str1.replace(8,1,'c##',2); cout<<'after is'<<str1; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Before replacement,string is This is C language After replacement,string is This is C# language </pre> <br></'before></pre></'before></pre></str1<<'
';>

Příklad 2

Druhý příklad ukazuje, jak nahradit daný řetězec pomocí pozice a délky řetězce, který má být zkopírován do jiného string objektu.

 #include using namespace std; int main() { string str1 =&apos;This is C language&apos; string str3= &apos;java language&apos;; cout &lt;<\'before replacement, string is \'<<str1<<\'
\'; str1.replace(8,1,str3,0,4); cout<<\'after replacement,string return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Before replacement, String is This is C language After replacement, String is This is java language </pre> <h2>Example 3</h2> <p>Third example shows how to replace the string by using string and number of characters to be copied as parameters.</p> <pre> #include using namespace std; int main() { string str1=&apos;This is C language&apos;; cout&lt;<\'before replacement,string is\'<<str1<<\'
\'; str1.replace(8,1,\'c##\',2); cout<<\'after is\'<<str1; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Before replacement,string is This is C language After replacement,string is This is C# language </pre> <br></\'before></pre></\'before>

Příklad 3

Třetí příklad ukazuje, jak nahradit řetězec pomocí řetězce a počtu znaků, které mají být zkopírovány jako parametry.

 #include using namespace std; int main() { string str1=&apos;This is C language&apos;; cout&lt;<\'before replacement,string is\'<<str1<<\'
\'; str1.replace(8,1,\'c##\',2); cout<<\'after is\'<<str1; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Before replacement,string is This is C language After replacement,string is This is C# language </pre> <br></\'before>