例如
string str=“你好&,我是@,你去*”;
替换成你好刘翔,我是china,你去哪
。最好有代码。。谢谢啊

解决方案 »

  1.   

      //定义规则
                Dictionary<string, string> rules = new Dictionary<string, string>() {
                    {"&","刘翔"},
                    {"@","chnai"},
                    {"*","哪"}
                };
                string str="你好&,我是@,你去*";
                foreach (var item in rules)
                {             
                    str = str.Replace(item.Key,item.Value);
                }
                //你好刘翔,我是chnai,你去哪"
      

  2.   

    那就往字典中循环加入变量,上面只不过是初始化后赋了初始值而已
    rules.Add(TKey,TValue); 
      

  3.   

    用正则更方便
                string str = "你好&,我是@,你去*";
                Dictionary<string, string> dict = new Dictionary<string, string> {
                    {"&","刘翔"},
                    {"@","china"},
                    {"*","哪"}
                };            MatchEvaluator func = (m) =>
                    {
                        string value;                    if (dict.TryGetValue(m.Groups[0].Value, out value))
                            return value;
                        else
                            return m.Value;
                    };
                str = Regex.Replace(str, @"[&@\*]", func);
                Console.WriteLine(str);