2766279 2012-05-02 14:12 2012-05-02 14:12   已支付 0.0 0.0 天津-天津 没有分发 详情 统计   
2766265 2012-05-02 14:12 2012-05-02 14:12   已支付 63.0 0.0 北京-北京 没有分发 详情 统计   
2766244 2012-05-02 14:08 2012-05-02 14:10   已支付 111.5 0.0 北京-北京 没有分发 详情 统计   
2766223 2012-05-02 14:06 2012-05-02 14:06   已支付 0.0 0.0 天津-天津 没有分发 详情 统计   
2766216 2012-05-02 14:05 2012-05-02 14:23   已支付 28.25 0.0 北京-北京 没有分发 详情 统计   
2766153 2012-05-02 13:32 2012-05-02 13:32   已支付 92.16 0.0 上海-上海 没有分发 详情 统计   
2766132 2012-05-02 13:28 2012-05-02 13:31   已支付 195.75 0.0 陕西-西安 没有分发 详情 统计   
2766125 2012-05-02 13:28 2012-05-02 13:29   已支付 9.9 0.0 安徽-合肥 没有分发 详情 统计   
2766090 2012-05-02 13:18 2012-05-02 13:21   已支付 84.47 0.0 北京-北京 没有分发 详情 统计   
2766062 2012-05-02 13:05 2012-05-02 13:07   已支付 27.09 0.0 上海-上海 没有分发 详情 统计   
2766041 2012-05-02 12:49 2012-05-02 13:34   已支付 0.0 0.0 北京-北京 没有分发 详情 统计   
2766020 2012-05-02 12:44 2012-05-02 13:06   已确认 141.96 141.96 上海-上海 没有分发 详情 统计   
2765964 2012-05-02 12:24 2012-05-02 12:40   已支付 188.0 0.0 江苏-无锡 没有分发 详情 统计   
2765880 2012-05-02 11:58    已支付 0.0 0.0 山东-济宁 没有分发 详情 统计   
2765866 2012-05-02 11:54 2012-05-02 11:55   已支付 96.93 0.0 上海-上海 没有分发 详情 统计   
2765852 2012-05-02 11:49 2012-05-02 11:50   已支付 116.55 0.0 北京-北京 没有分发 详情 统计   
2765838 2012-05-02 11:49    已支付 0.0 0.0 安徽-淮南 没有分发 详情 统计   
2765817 2012-05-02 11:42 2012-05-02 11:43   已支付 9.9 0.0 广东-深圳 没有分发 详情 统计   
2765810 2012-05-02 11:36    已支付 0.0 0.0 吉林-长春 没有分发 详情 统计   
2765803 2012-05-02 11:34 2012-05-02 11:35   已支付 152.76 0.0 陕西-西安 没有分发 详情 统计   
2765747 2012-05-02 11:07 2012-05-02 11:08   已支付 24.9 0.0 广东-广州 没有分发 详情 统计   
2765712 2012-05-02 11:00    已支付 0.0 0.0 湖北-武汉 没有分发 详情 统计   
2765698 2012-05-02 10:56 2012-05-02 10:56   已支付 0.0 0.0 广东-广州 没有分发 详情 统计   
2765663 2012-05-02 10:50 2012-05-02 10:51   已支付 10.0 0.0 江苏-连云港 没有分发 详情 统计   
2765635 2012-05-02 10:30 2012-05-02 10:31   已支付 31.47 0.0 山东-青岛 没有分发 详情 统计 要用编辑器批量修改成2766279
,2766265
,2766244
,2766223
,2766216
,2766153
,2766132
,2766125
,2766090
,2766062
,2766041
,2766020
,2765964
,2765880
,2765866
,2765852
,2765838
,2765817
,2765810
,2765803
,2765747
,2765712
,2765698
,2765663
,2765635
,2765628
,2765614
,2765600
,2765593
,2765572
,2765551
,2765544
,2765502
,2765495求一个正则表达式!如果能说下其中的意思 我另加分..

解决方案 »

  1.   

    正则替换是:(\d+)[^\n]* 替换为 ,$1Java程序是:
    String str = "2766279 2012-05-02 14:12 2012-05-02 14:12 已支付 0.0 0.0 天津-天津 没有分发 详情 统计";
    str += "\n2766265 2012-05-02 14:12 2012-05-02 14:12 已支付 63.0 0.0 北京-北京 没有分发 详情 统计";
    str += "\n2766244 2012-05-02 14:08 2012-05-02 14:10 已支付 111.5 0.0 北京-北京 没有分发 详情 统计";
    System.out.println(str);
    System.out.println(str.replaceAll("(\\d+)[^\\n]*", ",$1"));输出结果(需要手工删除第一个 ,):
    ,2766279
    ,2766265
    ,2766244解释 (\d+)[^\n]*
    \d 数字
    \d+ 1个~N个数字
    [^\n] 非换行符的任意字符
    [^\n]* 非换行符任意个解释 ,$1
    , 就是“逗号”
    $1 匹配串中,第一个()之内的内容
      

  2.   

    我看你都是一条条的  用截取多好。
    String str;
    String test;
    str=test.getContent().toString().substring(0,7)+",";
      

  3.   

    用程序确实好做,但是我要用编辑器呢?editplus批量替换怎么弄呢?
      

  4.   


    public class Test {
    public static void main(String args[]){
    String str = 
    "2766279 2012-05-02 14:12 2012-05-02 14:12 已支付 0.0 0.0 天津-天津 没有分发 详情 统计\n"+ 
    "2766265 2012-05-02 14:12 2012-05-02 14:12 已支付 63.0 0.0 北京-北京 没有分发 详情 统计\n"+
    "2766244 2012-05-02 14:08 2012-05-02 14:10 已支付 111.5 0.0 北京-北京 没有分发 详情 统计\n";
    System.out.println(str.replaceAll("(?s)([\\n])(?=\\d+)", "$1,"));
    }
    }(?s)
    启用 dotall 模式。 
    在 dotall 模式中,表达式 . 可以匹配任何字符,包括行结束符。默认情况下,此表达式不匹配行结束符。
    (\n)匹配换行符
    (?=\\d+) 后面跟着编号,不计入要替换的内容。
      

  5.   

    楼主多翻API,有那里看不懂?
    如果那个(?=\\d+)看的不是很明白的话,可以换成这样
    str.replaceAll("(?s)([\\n])(\\d+)", "$1,$2")
    也可以。
    正则个人感觉多用就行了。
    还有我不是先生!先生是老师的称谓,惭愧。。
      

  6.   


    咦?我一楼说了啊:正则替换是:(\d+)[^\n]* 
    替换为: ,$1按这个规则用EditPlus或UtralEdit就行了
      

  7.   

    表示这些应该是表里的数据,想要把id放到in中查询,如果你可以直接查表,修改查询语句,用逗号和id拼接查结果,如果数据是从别的地方倒过来的,可以放到excel中用left取子字符串,前面再加逗号,如果一定要在编辑器中处理,我表示editplus没用过,notpad++ 可以直接编辑,不需要写正则,文不对题,但希望有帮助~
      

  8.   

    editplus 我试过了
    点Regular_expression
    被替换的内容 (\n)   
    替换的内容 \0, 
    先ctr+A选中文本在 
    执行 replaceAll。
      

  9.   

    楼主多翻API,有那里看不懂?
    如果那个(?=\\d+)看的不是很明白的话,可以换成这样
    str.replaceAll("(?s)([\\n])(\\d+)", "$1,$2")
    也可以。