将字符串:{[C-NickName|aaa]}或{[SC-NickName|aaa]}
用正则表达式截取为:{[C-NickName]}或{[SC-NickName]}
请问怎么弄,急。谢谢。

解决方案 »

  1.   

    如果都是|aaa的话,replace直接替换掉|aaa就行了呗
      

  2.   

    断言替换            string s1 = "{[C-NickName|aaa]}";
                string s2 = Regex.Replace(s1, @"(?<=\{\[C-NickName)\|[a-zA-Z]+(?=\]\})", "");
                Console.WriteLine(s2);
      

  3.   

      ++1 string str = {[C-NickName|aaa]};
      return str.Split('|')[0] + "]}"; 这种写法也可以
      

  4.   


     string s1 = "{[C-NickName|aaa]}";
    string s2 = Regex.Replace(s1, @"(?<=\{\[C-[^|]+)\|[a-zA-Z]+(?=\]\})", "");
    Console.WriteLine(s2);
      

  5.   


                List<string> temp = new List<string> { "{[C-NickName|aaa]}", "{[SC-NickName|aaa]}" };
                Regex reg = new Regex(@"\|[^]]+");
                foreach(string s in temp)
                    Console.WriteLine(reg.Replace(s,""));