我们有一对字符串,例如对Accept-Language : RU ,
,我们搜索到地图,例如http请求标头。我们都知道地图中是否有这样的对 - bool值。如何进行软搜索意味着我们不需要找到完全相同的对,但像Accept-Language : ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
这样的对也是我们的有效对,如果存在,我们可以认为我们已经发现我们的地图包含我们的对。如何在C ++中创建用于执行此类搜索的功能?
答案 0 :(得分:3)
首先,如果您使用map
,则不能有多个具有相同密钥的条目。例如。你不能同时拥有Accept-Language : RU
和Accept-Language : ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
,因为它们具有相同的键“Accept-Language”。也许在你的情况下,你应该使用对矢量或多图。
接下来,您的问题由两部分组成:
string
或pair
)
匹配模式。 每个部分的解决方案:
string
或pair
的函数(取决于您选择的容器类型和存储元素),并检查它是否符合您的条件。您可以找到string::find_first_of等函数对此有用。 regex库可能更有帮助,但它们不是STL的一部分。