一个很头痛的字符串替换问题 想了很久也没有想出来怎么解决字符:
国务院《盐业管理条例》第二十条,国务院《食盐专营办法》第十条、第十一条,《海南省盐业管理条例》第二十六条
替换成:
国务院《<A HREF='http://admin/law/index.asmx/GetByNo?name=盐业管理条例'>盐业管理条例</A>》
<A HREF='http://admin/law/index.asmx/GetByNo?name=盐业管理条例&no=20'>第二十条</A>,国务院《<A HREF='http://admin/law/index.asmx/GetByNo?name=食盐专营办法'>食盐专营办法</A>》
<A HREF='http://admin/law/index.asmx/GetByNo?name=食盐专营办法&no=10'>第十条</A>
<A HREF='http://admin/law/index.asmx/GetByNo?name=食盐专营办法&no=21'>第十一条,</A>《海南省<A HREF='http://admin/law/index.asmx/GetByNo?name=盐业管理条例'>盐业管理条例</A>》
<A HREF='http://admin/law/index.asmx/GetByNo?name=盐业管理条例&no=26'>第二十六条</A>就是要在《 》 之间加入链接 且跟在后面的具体某一条也要加入跟《 》对应的链接那位高手有好的思路可以指教一下

解决方案 »

  1.   

    将你的这法那法做个字符串匹配数组
    例如String[] law = {"盐业管理条例'", "食盐专营办法"};
    依次判断当前字符串总是否包含匹配字符串
    例如国务院《盐业管理条例》第二十条包含了"盐业管理条例",就用字符串替换一下就ok
    然后在搜索后面"第"和"条"之间的数字,把汉字数字转换成十进制的算法网上有很多,你可以自己去找找,此时"盐业管理条例"和"20"都会做为变量,然后去构造字符串
    "<A HREF='http://admin/law/index.asmx/GetByNo?name=" + law + "&no=" + lawnumber + "'>" + numString +  "</A>"
    其中变量law是从前面获取的法律,lawnumber是从第和条之间截取的汉字转换后生成的数字,而
    numString是截取从第到条之间的字符串,不知道说明白了没有
    一点拙见,让大家见笑了
      

  2.   

    haoyipeng(呵呵虫)   我还有个问题 不明白啊  String law="国务院《盐业管理条例》第二十条,国务院《食盐专营办法》第十条、第十一条,《海南省盐业管理条例》第二十六条";
    只是一种情况 如果出现   
       1 。国务院《盐业管理条例》第二十条,国务院《食盐专营办法》
       2 。国务院《盐业管理条例》,国务院《食盐专营办法》 类此的该 怎么办
      

  3.   

    String.replace 用用看!
      

  4.   

    Pattern p = Pattern.compile("《[^》]*");
      

  5.   

    具体说来就是:
    Pattern p = Pattern.compile("《[^》]*");
    Matcher m = p.matcher(str);
    while(m.find()){
         //TODO 
    }在循环体里逐个处理。
      

  6.   

    我建议象这个最好不要用类做
    使用SQL去处理
      

  7.   

    错了。应该是:Pattern p = Pattern.compile("《[^》]*》");
      

  8.   

    String str='国务院《盐业管理条例》第二十条,国务院《食盐专营办法》第十条、第十一条,《海南省盐业管理条例》第二十六条';String str1=str.substring(str.indexOf('第'),str.indexOf('条'));//得到第二十条
    //对str载串
    str=str.substring(str.indexOf('》')); //现在内容:"第二十条,国务院《食盐专营办法》第十条、第十一条,《海南省盐业管理条例》第二十六条";
    str=str.substring(str.indexOf('《')); //现在内容:"《食盐专营办法》第十条、第十一条,《海南省盐业管理条例》第二十六条";
    //同理,得到《食盐专营办法》,第十条,第十一条…………