java与jsp页面的字符串拼接和拆分

来源:互联网 发布:淘宝中怎么发布宝贝 编辑:程序博客网 时间:2024/04/30 17:13
 在java代码编写过程中经常需要对字符串进行操作,本人鉴于这种情况对此类操作进行总结,希望给自己以后查询带来方便的同时给广大同仁一个参考。
第一类,java代码中的字符串截取
方法1.如果  String ids = "a,b,c,d";我们要通过“,”将这个字符串中的字母进行遍历,详细操作如下:
          String[]  strs=ids.split(",");
          for(String element  :  strs)
             {
             System.out.println("逐个遍历字母为:"+element);
             }
  以上的方法中使用了字符串的split(裂开)方法。
  将一个字符串分割为多个子字符串,然后将结果以字符数组的形式进行返回。 
  以上这种句法的使用条件为:string.split([separator],[limit])
  string:为所要处理的字符串,对象不会被split方法修改。
  separator(分隔符):为可选项,字符串或正则表达式对象,它标识了分割字符串时使用的是一个还是多个字符,如果忽略了该选项,返回的是包含整个字符串的单一元素数组。
  limit:为可选项,该值限制返回数组中的元素个数。
  split方法最终结果是一个字符串数组,在string中每个出现了separator的位置都要进行分解,separator不作为任何数组元素的部分返回。
  注意:分隔符说明
       1.,+*不是有效的模式匹配规则表达式,用"\\*" "\\+" 转义后即可得到正确的结果。
       2.“|”分隔符虽然能够执行,但是却不是语气的目的,“\\|”转义后即可得到正确的结果。
       3.如果想在串中使用"\"字符,则需要转义,首先在表达式“aaaa\bbbb”这个串就应该用"aaaa\\bbbb",如果要分割就应该这样才能得到正确结果:
       String [] aa="aaaa\\bbb\\cc".split("\\\\");
       \\也可以用[]代替,如:[|][*],但是[\\]这样写是错误的。
方法2.使用substring截取字符串
      substring讲解:
      s=s.substring(int begin);截取掉s从首字母起长度为begin的字符串,将剩余字符串赋值给s;
      s=s.substring(int begin,int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;
      实现截取过程:
      String N = "姓名:章子怡";   
      String L="";   
      String R="";    
      int k= N.length();   
        for (int i = 0; i < N.length(); i++)   
            {   
            if (N.substring(i,i+1).equals(":"))   
              {    
                L=N.substring(0,i).trim();    
                R=N.substring(i+1,k).trim();  //trim()取除段前和段后的空格
                System.out.println(L);   
                System.out.println(R);  
              }   
         else   
         {            
         }     
      } 
第二类,jsp页面中的字符串截取(Jstl表达式)
     方法1
         <c:forTokens var="name" items="${aaaaa}" delims="-">
               ${name        
         </c:forTokens> 
      通过分割符号"-"将字符进行分割遍历显示。
     
第三类,java代码中的字符串拼接与性能对比
   
  1.Concatenation Operator (+)
  2.String concat method – concat(String str)
  3.StringBuffer append method – append(String str)
  4.StringBuilder append method – append(String str)
    详细操作
      String sJ="";
      String sConcat="";
      String sBuilder="";
      String sBuffer="";
      String[] str ={"a","b","c","d"};
      StringBuilder strbuilder = null;
      StringBuffer strbuffer= null;
      strbuilder = new StringBuilder();
      strbuffer = new StringBuffer();
        for(int i=0;i<str.length;i++)
          {
            sJ+=str[i];
            sConcat=sConcat.concat(str[i]);
            sBuilder=strbuilder.append(str[i]).toString();
            sBuffer=strbuffer.append(str[i]).toString();
          }
           System.out.println("采用字符串+拼接的结果:为"+sJ);
           System.out.println("采用字符串concat拼接的结果:为"+sConcat);
           System.out.println("采用字符串Builder拼接的结果:为"+sBuilder);
           System.out.println("采用字符串Buffer拼接的结果:为"+sBuffer);  
    最终输出的结果是:
    采用字符串+拼接的结果:为abcd
    采用字符串concat拼接的结果:为abcd
    采用字符串Builder拼接的结果:为abcd
    采用字符串Buffer拼接的结果:为abcd 
    可见,通过以上的几种方式都可以达到字符串拼接的目的,但是有人测试过说+拼接的效率特别低,相比之下Builder的效率比较好。
原创粉丝点击