c++ - 如何用像'X'这样的常量字符替换字符串的子字符串
问题描述
我有一个如下的字符串
std::string s = "123468998";
我想用字符'X'替换位置0到4的所有字符,所以我的字符串看起来像
"XXXXX68998"
是否有任何可用的构建功能,或者我需要手动完成
我不能假设 1234 是恒定的,它可能会根据我要替换的位置而改变
解决方案
要替换字符串中的单个字符,您可以简单地使用以下命令访问字符串中的字符[]
:
#include <iostream>
#include <string>
int main()
{
std::string s = "123468998";
for (int i = 0; i < 5; i++) {
s[i] = 'X';
}
std::cout << s << std::endl;
return 0;
}
如果您想使用内置解决方案,您可以这样做:
s.replace(0, 5, 5, 'X');
在此处查看其文档。
或者std::fill
,如此处所述:
std::fill(s.begin(), s.begin() + 5, 'X');
推荐阅读
- c# - 如何修复 SonarQube“变量在至少一个执行路径上为空”?
- python - 在 Python 中,如何根据字符串列表从列表中删除项目?
- c# - 如何在 C# 中同时生成大量 HTTP HEAD 请求?
- python - 将连续的数字序列附加到列表中
- javascript - 如何使用 map 将数据从组件传递到 reactJs 上的另一个组件?
- android - 使用 Facebook SDK 手动记录应用安装事件
- git - 如何在不弄乱分支拉取请求关系的情况下挑选提交?
- python - from matplotlib.pyplot import plt ImportError: No module named 'matplotlib'
- azure - Azure 密钥保管库如何识别访问策略中分配的不同身份
- python - 如何在 groupby 和 rollingsum 之后创建具有值的新列?