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

C# 在数组中查找未知字符串的位置,c#,arrays,string,linq,lambda,C#,Arrays,String,Linq,Lambda,我正在数组中搜索字符串的一部分,但我不知道该部分字符串包含什么。 在我之后,但我也需要这个字符串的位置。 我有以下代码: string Cuvant = "+NATURAL,,"; string[] prefixes = { "/", "+", ",", "’’", "“", "”", ",," }; string str = ""; if (prefixes.Any(prefix => Cuvant.StartsWith(prefix))) {

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

   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);
       }
    }

如果。。。如果我理解你的问题,你正在寻找一种可以通过删除字符串开头和结尾的无效字符来清理字符串的方法

然后就这样使用:

string cuvant = "+NATURAL,,";

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

cuvant = cuvant.Trim(prefixes);

请注意,prfixes数组变成了
char
类型的数组。

对于这个“+NATURAL,,”字符串,您希望结果是“NATURAL”?这似乎是一个XY问题。你能描述一下你想要达到的目标吗?我相信有更好的方法。要回答我想你问的问题,请看一看谢谢,这就是我一直在寻找的。我忘了修剪(char[])。