获取字符串c#中字母的出现

时间:2016-07-18 09:05:30

标签: c# .net string

我有一个看起来像

的字符串
  

E-1,E-2,F-3,F-1,G-1,E-2,F-5

现在我想要输出数组,如

  

E,F,G

我只想要一次出现在字符串中的字符名称。

我的代码示例如下

   string str1 = "E-1,E-2,F-3,F-1,G-1,E-2,F-5";
            string[] newtmpSTR = str1.Split(new char[] { ',' });
            Dictionary<string, string> tmpDict = new Dictionary<string, string>();
            foreach(string str in newtmpSTR){
                string[] tmpCharPart = str.Split('-');
                if(!tmpDict.ContainsKey(tmpCharPart[0])){
                    tmpDict.Add(tmpCharPart[0], "");
                }

            }

有没有简单的方法在c#中使用字符串函数,如果是的话

1 个答案:

答案 0 :(得分:2)

string input = "E-1,E-2,F-3,F-1,G-1,E-2,F-5";
string[] splitted = input.Split(new char[] { ',' });
var letters = splitted.Select(s => s.Substring(0, 1)).Distinct().ToList();

也许你可以用正则表达式获得相同的结果! : - )