【问题标题】:How to check if string contains special part [duplicate]如何检查字符串是否包含特殊部分[重复]
【发布时间】:2017-07-11 08:50:13
【问题描述】:

如何检查我的字符串是否包含值“.all”。示例:

  string myString = "Hello.all";

我需要检查 myString 是否有 .all 以便为此字符串调用其他方法,有什么想法可以做到吗?

【问题讨论】:

  • 为什么不myString.Contains(".all");
  • 要检查字符串是否以 .all 结尾,您可以使用myString.EndsWith(".all")
  • 在这里使用正则表达式可能有点矫枉过正,只需 myString.Contains(".all")myString.EndsWith(".all")
  • @SamvelPetrosov 你提到的问题是关于字符而不是字符串,所以它不完全是这个问题。
  • @VladStryapko Contains 方法对字符和字符串的工作方式完全相同。

标签: c# regex string


【解决方案1】:

你可以使用myString.Contains(".all")

More info here

【讨论】:

    【解决方案2】:

    使用IndexOf()

    var s = "Hello.all";
    var a = s.IndexOf(".all", StringComparison.OrdinalIgnoreCase);
    

    如果 a = -1 则未找到任何匹配项
    如果a = some number other than -1 你得到索引(放在它开始的字符串中)。
    所以a = 5在这种情况下

    【讨论】:

    • 除了存储出现的位置之外,还有没有其他使用这种方法而不是使用ContainsEndsWith的补充?
    • @Asunez TS 没有说明它必须在字符串的末尾,所以endsWith 不是这里的答案。如果使用 IndexOf 而不是 Contains 您可以更好地控制套管和区域性设置
    • @Azurez 如果你在referencesource.microsoft.com/#mscorlib/system/string.cs 寻找string.cs 的来源,你会看到Contains 正在调用IndexOf
    【解决方案3】:

    只需在字符串对象上调用.Contains(".all")

    if (myString.Contains(".all") 
    {
        // your code to call the other method goes here
    }
    

    不需要正则表达式。

    可选地,正如 @ZarX 在 cmets 中提到的,您可以检查字符串是否以您的关键字结尾 .EndsWith(".all"),如果字符串以您的关键字结尾,则返回 true。

    【讨论】:

      猜你喜欢
      • 2010-12-20
      • 2016-08-24
      • 2022-06-14
      • 2016-08-01
      • 2014-11-25
      • 2021-11-21
      • 2012-04-21
      • 2019-08-15
      • 1970-01-01
      相关资源
      最近更新 更多