还是昨天说的公司的jsp业务,有兴趣的可以去看看我昨天的帖子
今天又提出个小的要求,就是把出现"|"的字符串的"|"前后空格去掉。
(这些字符串都经过去多空格处理,所以不会出现连续多个空格)
大体的原数据类似如 
"abc | abc"  "123 |abc"  "abc|   456"  "ab cd       | abc" "ab cd | ab cd" 等等我需要只去掉紧挨着"|"前后的空格,处理的后的格式为
"abc|abc"  "123|abc"  "abc|456"  "ab cd|abc"   "ab cd|ab cd"是不是又要用到正则还是怎么滴,哎,等我忙完这个作业,我一定去好好学java基础和正则,
我表示基础不牢,压力很大啊。

解决方案 »

  1.   

    你这个只要 String.replace(" | " , "|") String.replace(" |" , "|") String.replace("| " , "|")
      

  2.   

    我了个去,你回答这么快,我还想改改呢,字符串中的"|"可能不止一个。------------------------
    我晕,想到怎么处理了。
    用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。哎,死脑筋死脑筋,看来这几天真是忙头晕脑胀的了。1楼这分就给你吧,-----------------------------
    ...
      

  3.   

    For Example:
    String strt = "abc| 456";
    strt = strt.replace(" | ", "|").
    replace(" |", "|").
    replace("| ", "|");
    System.out.println(strt);
      

  4.   

    String strt = "abc | abc 123 |abc abc| 456 ab cd | abc ab cd | ab cd";
    strt = strt.replace(" | ", "|").
    replace(" |", "|").
    replace("| ", "|");
    System.out.println(strt);
      

  5.   

    用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。这个方法应该好些,replace太局限。
      

  6.   

    查了查,java的replace不支持正则,灵活性确实不够,用replaceAll:public class Test{
    public static void main(String[] args){
        String str = "abc | abc 123 |abc abc| 456 ab cd | abc ab cd | ab cd";
        str = str.replaceAll(" ?\\| ?", "|");
    System.out.print(str);
    }
    }
      

  7.   

    s= s .replaceAll("\\s*\\|\\s*", "|");