C ++:用一个以上的数字替换字符串中的字符?

马万·安萨里(Marwan Ansari)

我目前正在尝试用多个数字替换字符串中的单个字符。让我们快速:

replace(string.begin(), string.end(), 'a', '1');

^作品^

replace(string.begin(), string.end(), 'a', '11');

或者

replace(string.begin(), string.end(), 'a', "1");

^不工作!^

我该怎么做?有功能吗?

注意:我不是在问如何:

  • 用另一个字符串替换字符串的一部分
  • 用另一个子字符串替换子字符串
来自莫斯科的弗拉德

你应该使用一些重载成员函数replace类的std::basic_string而不是标准的算法std::replace

例如

for ( std::string::size_type pos = 0;
      ( pos = s.find( 'a', pos ) ) != std::string::npos;
      pos += 2 )
{
   s.replace( pos, 1, 2, '1' );
}

或者,如果数字可以是任意字符串,那么您可以编写

std::string number( "123" );
for ( std::string::size_type pos = 0;
      ( pos = s.find( 'a', pos ) ) != std::string::npos;
      pos += number.size() )
{
   s.replace( pos, 1, number );
}

如果要用字符替换数字,则可以写

for ( std::string::size_type pos = 0;
      ( pos = s.find( "11", pos ) ) != std::string::npos;
      ++pos )
{
   s.replace( pos, 2, 1, 'a' );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用一个衬里替换C#中的字符串中的多个字符

用C中的另一个子字符串替换字符串的一部分

在Objective-C中替换字符串中的一个字符

无法从一组字符串中取出一个数字-C

如何用C中的另一个字符串替换字符串中的子字符串?

如何在C#中从字符串中挑选一个数字

从列表 C# LINQ 中的字符串替换一个单词

C ++中是否有一个函数可以在字符串中选择数字

用C中的另一个单词更改字符串中的单词

用一个字符串中的更多字符替换一个字符,而不用C ++删除其他字母

用 C 编写一个程序,从字符串中删除前导和尾随空格

用C向字符串文字中添加一个char

如何用C中的另一个字符串替换字符串中的字符

如何将字符串C中的每个特定字符替换为另一个?

用X C ++练习替换字符串中的字符

用数字c#替换字符串中的每个出现

我想像平常一样执行一个函数,但是用一个字符串替换了 c#

为什么在C ++中当我用'+'合并字符串时不合并但删除字符串的第一个字符

如何在C ++中从输入中查找字符串并将其替换为另一个字符串?

c++ - 如何将一个int数组连接到用点分隔的c ++中的字符串?

c# - 如何将字符串替换为另一个可以恢复原始字符串的字符串

从C中的字符串替换字符

用C中的字符串替换整数

C#替换字符串,除非前面有另一个

用C#替换字符串

用C#替换字符串

用C ++字符串替换snprintf

C ++将不同类型连接成一个函数字符串

C#:仅递增字符串的最后一个数字