代码之家  ›  专栏  ›  技术社区  ›  Benjamin Manns

如何查看一个字符串是否松散地包含另一个字符串(大小写、多余的空格和标点符号被忽略)?

  •  1
  • Benjamin Manns  · 技术社区  · 14 年前

    我正在用C语言编写一个程序,它将字符串与谷歌搜索文档中关键字的方式进行类似的比较。

    我希望搜索“stack overflow”以返回“stack overflow”(普通)、“this is the stack overflow.”(中间)、“welcome to stack overflow.”(不区分大小写)、“I like stack overflow.”(变量空白)和“who puts a dash in stack overflow?”的true。但是 “stackoverflow”(无空白)。

    我在想我可以使用像“stack([-])”这样的正则表达式。+“溢出”,似乎必须用每个新关键字的字符集替换每个关键字中的每个空格是多余的。因为“堆栈溢出”不是我要搜索的唯一字符串,所以我必须实事求是地进行搜索。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Tim Pietzcker    14 年前

    newSearchString = Regex.Replace(Regex.Escape(searchString), @"\s+", @"[\s\p{P}]+");
    

        2
  •  1
  •   André Caron    14 年前

        3
  •  0
  •   Justin    14 年前

    string.Contains