C++程序查找和替换字符串


假设,我们给定一个字符串 s。有一个范围,从 start 到 end,其中 start 和 end 都是整数。每当我们在给定范围内遇到变量 f 中存储的字符时,我们将其替换为 r 中存储的字符。我们找出此替换操作后的字符串。

问题类别

为了解决这个问题,我们需要操作字符串。编程语言中的字符串是一系列字符,存储在特定的数组式数据类型中。几种语言将字符串指定为特定数据类型(例如 Java、C++、Python);而其他几种语言将字符串指定为字符数组(例如 C)。字符串在编程中起着重要作用,因为它们通常是各种应用程序中首选的数据类型,并用作输入和输出的数据类型。有各种字符串操作,例如字符串搜索、子字符串生成、字符串剥离操作、字符串转换操作、字符串替换操作、字符串反转操作等等。查看下面的链接以了解如何在 C/C++ 中使用字符串。

https://tutorialspoint.com/cplusplus/cpp_strings.htm

https://tutorialspoint.com/cprogramming/c_strings.htm

因此,如果我们问题的输入类似于 s = "brick",f = 'i',r = 'o',start = 1,end = 5,则输出将为 "brock"。

步骤

为了解决这个问题,我们将遵循以下步骤 -

for initialize i := start - 1, when i < end, update (increase i by 1), do:
   if s[i] is same as f, then:
      s[i] := r
return s

示例

让我们看看下面的实现以获得更好的理解 -

#include<bits/stdc++.h>
using namespace std;
void solve(string s, char f, char r, int start, int end) {
   for(int i = start - 1; i < end; i++)
      if(s[i] == f)
         s[i] = r;
   cout<< s;
}
int main() {
   string s = "brick";
   char f = 'i', r = 'o';
   int start = 1, end = 5;
   solve(s, f, r, start, end);
   return 0;
}

输入

"brick", 'i', 'o', 1, 5

输出

brock

更新于: 2022年4月7日

873 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告