gpt4 book ai didi

c++ - 读取 std::string,从 std::string 中删除所有特殊字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:53 26 4
gpt4 key购买 nike

我是这个论坛和 c++ 的新手。所以请原谅我的疑惑/问题。我正在尝试读取 std::string。我知道我可以使用 at[int] 运算符访问元素。我有 2 个问题:

1) 删除或删除字符串中的所有特殊字符(包括空格)

2) 只读取该字符串的前 4 个字符或字母

对于 1),我正在检查 std::erasestd::remove_if,但我也需要消除所有特殊字符和空格。这意味着我需要包括 isspace()/isalpha() 等所有条件。没有单一的方法可以一次全部删除吗?

对于 2),我可以像访问数组一样访问字符串,我的意思是 string[0]、string[1]、string[2]、string[3]。但是我不能将它添加到单个字符串中吗?

请让我知道我怎样才能做到这一点?

最佳答案

获取前四个字符:

std::string first4=str.substr(0, 4);

删除任何 isspace 和 isalpha 谓词(虽然我想我误解了,在这里,你的意思是 isspace 而不是 isalpha 吗??):

str.erase(std::remove_if(str.begin(), str.end(),
[](char c) { return std::isspace(c) || std::isalpha(c); } ),
str.end());

您可以使用 op+= 附加到字符串。例如:

str+="hello";
str+='c';

关于c++ - 读取 std::string,从 std::string 中删除所有特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20971804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com