Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用正则表达式搜索子字符串的字符串 我是C++新手。如何搜索字符串以查找该字符串的特定部分_C++_Regex - Fatal编程技术网

使用正则表达式搜索子字符串的字符串 我是C++新手。如何搜索字符串以查找该字符串的特定部分

使用正则表达式搜索子字符串的字符串 我是C++新手。如何搜索字符串以查找该字符串的特定部分,c++,regex,C++,Regex,例如,如果我搜索150磅的用户输入字符串,并尝试寻找“磅”,我会返回一个布尔值,这是真的吗 我试着使用正则表达式,但我被卡住了,无法快速回答 bool isLbs(string s){ return (s.find("lbs") != string::npos); } 这会奏效的。但你可能会问 首先,我建议先读书 现在它真的很简单。类STD::C++中的字符串有一个名为find的函数,它可以用来检查字符串中是否存在字符串。它返回的类型是无符号整数类型,因此要将其转换为bool,需要检查

例如,如果我搜索150磅的用户输入字符串,并尝试寻找“磅”,我会返回一个布尔值,这是真的吗

我试着使用正则表达式,但我被卡住了,无法快速回答

bool isLbs(string s){
    return (s.find("lbs") != string::npos);
}
这会奏效的。但你可能会问

首先,我建议先读书

现在它真的很简单。类STD::C++中的字符串有一个名为find的函数,它可以用来检查字符串中是否存在字符串。它返回的类型是无符号整数类型,因此要将其转换为bool,需要检查str.find(“searchWord”)!=字符串::npos。因为如果它等于string::npos,那么它就不存在于字符串中

正如我所说的,请随意阅读cplusplus.com上更深入的文档

链接:


p.S如果您通过“3213lbs2313”或“lbs1234124”,上述函数也会返回true。所以只要lbs在字符串内部,它就不在乎lbs在哪里。如果您只想检查它是否在末尾,那么您可以只检查
If(s.substr(s.size()-3)=“lbs”)
,它调用std::String类的另一个函数,该函数返回字符串的最后3个字符,并检查它们是否等于“lbs”。

什么?你介意分享这些代码吗?谷歌的第一个结果返回了一个相当不错的教程,说明你的要求(不是针对
lbs
,而是非常接近)。写“尝试使用regex,但我卡住了”并不能提供任何有用的信息。你到底试过什么?你被困在哪里?