我希望找出 C++ 中是否有一个命令可以找到类似的输入变化并接受这些变化以及 if 语句中的确切答案。
例如:
如果我有一个用户输入“Hi”
,并且 if 语句需要接受“hi”才能有效
,我如何才能做到这一点,除了不必自己输入所有变体,即“||” 做。
多谢你们。
我希望找出 C++ 中是否有一个命令可以找到类似的输入变化并接受这些变化以及 if 语句中的确切答案。
例如:
如果我有一个用户输入“Hi”
,并且 if 语句需要接受“hi”才能有效
,我如何才能做到这一点,除了不必自己输入所有变体,即“||” 做。
多谢你们。
如何计算某种编辑距离。您可以用非常小的距离对案例变化进行加权,并接受低于某个阈值的所有输入。
如果有很多变体,并且枚举它们很麻烦,您可能需要考虑通过正则表达式解析器运行输入。一个轻量级的是T-Rex。
大写字符串,然后比较大写字符串。
请注意,理论上这可能会与大写的各种国家语言约定相冲突,这似乎是 C++ 标准库对大写的支持非常差的原因之一(如果它不能 100% 完美地完成,那么我们不要这样做) .
但是,在实践中,可以简单地避免任何有问题的国家字符串。
干杯&hth.,
小写输入字符串。
然后比较:
std::string answer;
std::cin >> answer;
std::transform(answer.begin(), answer.end(), answer.begin(), ::tolower);
if (answer == "hi")
{
std::cout << "Wrong answer\n";
}