C++程序:替换特定索引处的字符
字符串是由字符组成的集合。我们也可以称它们为字符数组。将字符数组视为字符串,字符串具有指定的索引和值。有时我们可以对字符串进行一些修改,其中一种修改是通过提供特定索引来替换字符。在本文中,我们将了解如何使用C++替换字符串中特定索引处的字符。
语法
String_variable[ <given index> ] = <new character>
在C++中,我们可以使用索引访问字符串字符。在这里,要将特定索引处的字符替换为其他字符,我们只需用新字符赋值给该位置,如语法所示。让我们看看算法以更好地理解。
算法
- 获取字符串s、指定索引i和新字符c
- 如果索引i为正且其值不超过字符串大小,则
- s[ i ] = c
- 返回s
- 否则
- 返回s,不做任何更改
- 结束if
示例
#include <iostream> using namespace std; string solve( string s, int index, char new_char){ // replace new_char with the existing character at s[index] if( index >= 0 && index < s.length() ) { s[ index ] = new_char; return s; } else { return s; } } int main(){ string s = "This is a sample string."; cout << "Given String: " << s << endl; cout << "Replace 8th character with X." << endl; s = solve( s, 8, 'X' ); cout << "Updated String: " << s << endl; cout << "Replace 12th character with ?." << endl; s = solve( s, 12, '?' ); cout << "Updated String: " << s << endl; }
输出
Given String: This is a sample string. Replace 8th character with X. Updated String: This is X sample string. Replace 12th character with ?. Updated String: This is X sa?ple string.
结论
在C++中,替换指定索引处的字符非常简单。C++字符串是可变的,因此我们可以直接更改它们。在Java等其他语言中,字符串是不可变的。无法通过为其分配新字符来替换其中的字符。在这种情况下,需要创建一个新字符串。如果我们将字符串定义为像C语言中的字符指针,也会发生类似的情况。在本例中,我们定义了一个函数来替换给定索引位置处的字符。如果给定的索引超出范围,它将返回字符串,并且字符串将保持不变。
广告