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语言中的字符指针,也会发生类似的情况。在本例中,我们定义了一个函数来替换给定索引位置处的字符。如果给定的索引超出范围,它将返回字符串,并且字符串将保持不变。

更新于:2022年12月14日

2K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告