C++ 在字符串C+中查找标点符号+;
我正在处理一个向量,并试图在这个向量中填充一个txt文件中的单词列表,条件是这个单词没有标点符号。我把每一行看作一个字符串,并试图找到一个好方法来测试字符串中是否有标点符号 我对字符串中的所有撇号都有类似的处理,但需要将其推广到所有标点符号。如果该行没有撇号,则继续执行代码的其余部分C++ 在字符串C+中查找标点符号+;,c++,string,punctuation,C++,String,Punctuation,我正在处理一个向量,并试图在这个向量中填充一个txt文件中的单词列表,条件是这个单词没有标点符号。我把每一行看作一个字符串,并试图找到一个好方法来测试字符串中是否有标点符号 我对字符串中的所有撇号都有类似的处理,但需要将其推广到所有标点符号。如果该行没有撇号,则继续执行代码的其余部分 if ((find(line.begin(), line.end(), '\'')) == line.end()) 我是新来的,任何帮助都将不胜感激。我考虑过可能使用ispunct()函数,但不知道如何在这个函数
if ((find(line.begin(), line.end(), '\'')) == line.end())
我是新来的,任何帮助都将不胜感激。我考虑过可能使用ispunct()函数,但不知道如何在这个函数中实现它。您可以使用和
当使用像std::any_of
或std::find_if
这样的东西时,最简单的方法是传递一个消息
就你的情况来看
#include <iostream>
#include <algorithm>
#include <cctype>
int main() {
std::string str = "fdsfd/jl";
if (std::any_of(str.begin(), str.end(), [](char c){ return std::ispunct(c); } ))
std::cout << "PUNCT!";
return 0;
}
#包括
#包括
#包括
int main(){
std::string str=“fdsfd/jl”;
if(std::任意_of(str.begin(),str.end(),[](char c){return std::ispunt(c);}))
std::无法阅读和。