在数组中查找未知字符串的位置

时间:2016-02-19 21:52:25

标签: c# arrays string linq lambda

我正在搜索数组中字符串的一部分,但我不知道包含该字符串部分的内容。 在我之后,但我也需要这个字符串的位置。 我有以下代码:

   string Cuvant = "+NATURAL,,";

   string[] prefixes = { "/", "+", ",", "’’", "“", "”", ",," };
    string str = "";

    if (prefixes.Any(prefix => Cuvant.StartsWith(prefix)))
    {
      // Strip the first character from string
      str = Cuvant.Substring(1);

      // Search the end of string in prefixes
      if (prefixes.Any(prefix => str.EndsWith(prefix)))
      {
        // Strip the last character from string
        // here I need to know if the end found in prefixes is more than a character
        str = str.Substring(0, str.Length -1);
       }
    }

我选择不使用if ... else,因为将来的前缀可以拥有更多的单词。

1 个答案:

答案 0 :(得分:1)

如果我理解您的问题,那么您正在寻找能够通过在开头和结尾删除无效字符来清理字符串的内容。

然后就这样使用Trim

string cuvant = "+NATURAL,,";

char[] prefixes = { '/', '+', ',', '’', '“', '”', ',' };

cuvant = cuvant.Trim(prefixes);

请注意,prfixes数组将成为char类型的数组。