[00:36.45]呼吸
[00:37.57]提醒我活着的证明
[00:42.33]飞机正在抵抗地球
[00:46.06]我正在抵抗你
[03:21.19][02:28.70][00:51.29]远离地面
[03:22.89][02:30.58][00:53.17]快接近三万英尺的距离
[03:28.44][02:36.07][00:58.85]思念像粘着身体的引力
上面是从文件里取出来的字符串,怎么能把时间点都给去掉?变成呼吸
提醒我活着的证明
飞机正在抵抗地球
我正在抵抗你
远离地面
快接近三万英尺的距离
思念像粘着身体的引力
我想用正则,但不会写,帮个忙吧

解决方案 »

  1.   

    ^\x00-\xff 是什么意思?谁给解答一下啊
      

  2.   

    \x00-\xff的范围是ASCII的范围
    假如你后面的内容里有ASCII码的字符,则会被替换的
      

  3.   

    一行一行读取,每行进行这样操作:String line = ...;
    int nIdx = line.ReverseFind(']');
    line.substring(nIdx,line.length());
      

  4.   

    这个不用正则吧,直接lastindexof 然后substring 一下就ok了
      

  5.   

    try...
    Regex reg = new Regex(@"\[\d{1,2}:\d{1,2}.\d{1,2}\]");
    string result = reg.Replace(yourStr, "");
      

  6.   

    \x 是指ASCII码 后面是跟16进制的 00-ff不就是一共128个字符么
    \u 是指UNICODE码
      

  7.   


    //using System.Globalization;
    string str = "[00:36.45]呼吸 [00:37.57]提醒我活着的证明 [00:42.33]飞机正在抵抗地球 [00:46.06]我正在抵抗你 [03:21.19][02:28.70][00:51.29]远离地面 [03:22.89][02:30.58][00:53.17]快接近三万英尺的距离 [03:28.44][02:36.07][00:58.85]思念像粘着身体的引力";      Regex re1 = new Regex(@"[\u4e00-\u9fa5]", RegexOptions.IgnoreCase | RegexOptions.Singleline);
          MatchCollection mc = re1.Matches(str); 
               foreach (Match m in mc)
             Console.Write(m.Value);
      

  8.   

    lxcnn 的比较好 删除的格式都已经做好了 可以参考13楼的 lxcnn  
    取范围的不是很规范  我的那个方法不建议采用
     
      

  9.   

     那也太简单了吧Regex re1 = new Regex(@"\[[^\]]*\]" );
    string 新变量 = re1.Replace(文件里取出来的字符串变量名, '');