检查字符串是否包含字符“ - ”或仅包含数字的最短方法是什么?
编辑:如果没有std :: string,我将如何在C中完成?哪一个更好?
答案 0 :(得分:3)
std::string
有一个成员函数find
,可用于搜索字符或子字符串。如果找不到搜索字符或子字符串,则返回std::string::npos
。
测试字符串是否仅包含数字的一种直接方法是将find_first_not_of
成员函数与搜索列表"0123456789"
一起使用。如果它返回std::string::npos
,则该字符串仅包含数字;如果它返回任何其他值,则字符串中还有一些其他非数字字符。
答案 1 :(得分:2)
检查它是否包含任何字符。 "-"
您可以使用strchr()
c库调用。
至于检查一个字符串是否只包含数字,你最有可能必须遍历所有字符并使用isdigit()
c库调用检查它是否为数字。
至于C ++方式,请看看James McNellis的回答。
答案 2 :(得分:1)
std::string myStr = "999-111-100";
if(myStr.find("-")!=std::string::npos)
{
//string has a - in it
}