我正在制作一个程序,您可以键入一个字母组合,例如''并且程序找到包含该两个字母序列的国家。我只想要它搜索一个两个字母的组合,但如果还有一种方法来检查三个字母的序列,那么这将是一个额外的奖励。到目前为止,我有一个字符串数组,我想保持这种方式。这是我到目前为止所做的,现在它只能找到相同的字符串,因为我这样设置它,我想把它改成它找到有两个字母序列的国家。谢谢!
setxor()
答案 0 :(得分:0)
您可以像这样使用string::find(const string&)
:
if (Countries[i].find(combination) != std::string::npos) {
将条件if(combination == Countries[i]) {
替换为该条件,以在字符串内容中搜索
答案 1 :(得分:0)
您可以使用const titleCase = str => str.replace(/\b(\w)/g, f => f.toUpperCase());
console.log( titleCase("hello world") )
:
std::copy_if
然后匹配国家/地区将在auto end = std::copy_if( std::begin( Countries ), std::end( Countries ), std::begin( Stored ), [combination]( const std::string &ct ) {
return ct.find( combination ) != std::string::npos;
} );
范围内。
此代码虽然可能不适用于大写字母,但更改它非常简单,例如将[std::begin( Stored ),end[
替换为您自己的代码,忽略大小写。
答案 2 :(得分:0)
遍历所有潜在的匹配。 测试每一个匹配。 如果匹配,请将其添加到匹配项目列表中。
string string_to_find = "an";
for (auto country : Countries)
if (country.find( string_to_find ) != country.npos)
Stored[number_stored++] = country;