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
广告