string  str = "aaa|bbb|ccc|ddd|eee|fff";
界面上有一个textbox给别人输入分割符得,现在就是输入的|
string[] List = Regex.Split(str , textbox.Text, RegexOptions.IgnoreCase);很奇怪这样分割会不成功,必须是写上转义 \| 才能分割,我是明白但是给别人用的话别人不知道什么转义要加上\。
大哥大姐们有什么办法么?小弟先谢啦

解决方案 »

  1.   

    string[] List = str .Split("|");
      

  2.   

    其实所有字符都可以转义,如果是regex支持的转义就会被转义,不是的话就会忽略。所以你写程序时候都可以加上\
    string[] List = Regex.Split(str , "\\" + textbox.Text, RegexOptions.IgnoreCase);
      

  3.   

    算了。我这想法也不靠谱。说错了。忽略2楼回复。用这个
    string[] List = Regex.Split(str , Regex.Escape(textbox.Text), RegexOptions.IgnoreCase);
      

  4.   

    Regex.Escape就是做你说的这个事情的,给一个字符串,如果需要转义,则返回转义后的形式,如果不需要,则返回原样,msdn解释是说将参数中的文本转换为实际regex的文本进行匹配。