【发布时间】:2020-01-25 23:29:38
【问题描述】:
我想做一个 if 语句来比较两个字符串,看看它们是否匹配。 所以:
if (TypedAnswerOne == CorrectAnswerOne)
如果输入的正确答案与 CorrectAnswerOne 字符串值中的一样,则代码有效。 完全没有问题。
但是...如果输入的答案略有不同,例如一个单词而不是两个单词,则表明答案是错误的。
所以我想知道如何对字符串进行“或”运算?
所以:
if (TypedAnswerOne == CorrectAnswerOne or "dirtballs" or "Dirt Balls" or "dirt balls")
如何在 CPP 中用字符串定义“或”?
TY :-)
【问题讨论】:
-
顺便说一句,C++ 几乎从未被称为“CPP”。您可能会看到
.cpp用作文件扩展名,但这只是因为在文件名中使用加号会导致问题。 -
提示:为您的预期匹配创建一个容器(例如
std::vector),然后检查您想要的字符串是否在该列表中。如果你只是匹配简单的变体,也许你想要一个更宽松的正则表达式,或者你想清理输入,剥离空格和小写等,以更广泛地匹配。 -
@tadman 如果我们要让 OP 开始使用 STL,那么这种比较最好使用带有不区分大小写哈希函数的
std::unordered_set。 -
@dai C++ 在没有标准库的情况下真的很糟糕,所以学习它是必不可少的。关于
std::unordered_set的好推荐。 -
你应该从一本教你如何使用“if”语句的书中学习 C++