程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> java去除字符串空格幾種做法

java去除字符串空格幾種做法

編輯:關於JSP

    超初我用的只是最簡單的

    網上搜索的都是什麼replace(" ","")  感覺很莫名其妙

    你使用replaceAll(" ","")方法時必須有返回值,類於

     代碼如下
    String str = "A B C D E";
    str = str.replaceAll(" ", "");
     

    這樣就刪除空格了,你可能是用了replaceAll(" ", "") 方法,但沒有返回值賦值

    後來網站搜索發現如下代碼

     代碼如下 
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class StringUtil {

    public static void replaceBlank()
    {
       Pattern p = Pattern.compile(“s*|t|r|n”);
       String str="I am a, I am Hello ok, n new line ffdsa!";
       System.out.println("before:"+str);
       Matcher m = p.matcher(str);
       String after = m.replaceAll("");
       System.out.println("after:"+after);
    }

    public static void main(String[] args) {
         replaceBlank();
       }

    }
     
    上面這代碼可以字符串中的空格、回車、換行符、制表符

    我再google一下,這個正好是我要的,因為我不想刪除除空格外的內容有只。

     代碼如下
    package com.sharell.Info;

    import java.util.ArrayList;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class DelSpace {
     public static void main(String[] args){
      String str = "  wo   shi  zhong guo     ren    ";
      sameResult(str);
     }
     private static void sameResult(String str) {
      System.out.println(delByPattern(str));
      System.out.println(delByRegex(str));
      System.out.println(delBySB(str));
      System.out.println(delByArr(str));
     }
     public static String delByPattern(String str){
      Pattern p=Pattern.compile(" {2,}");
         Matcher m=p.matcher(str);
         String result=m.replaceAll(" ");
      return result;
     }
     private static String delByRegex(String str) {
      String[] arr = str.split(" +");
      String result = "";
      for(int i = 0;i<arr.length;i++){
       result+=arr[i]+" ";
      }
      if(!str.endsWith(" ")){
       result=result.substring(0,result.length()-1);
      }
      return result;
     }
     public static String delBySB(String str){
     StringBuffer sb = new StringBuffer(str);
     for(int index = 0;index<sb.length();index++){
      if(index<sb.length()-1&&sb.charAt(index)==' '&&sb.charAt(index+1)==' '){
       sb.deleteCharAt(index+1);
       index--;
      }
     }
     return sb.toString();
        }
     private static String delByArr(String str) {
      char[] arr = str.toCharArray();
      String result = "";
      ArrayList<Character> al = new ArrayList<Character>();
      for(int i=0;i<arr.length;i++){
       if(i<(arr.length-1)&&arr[i]==' '&&arr[i+1]==' '){
        continue;
       }
       else{
        al.add(arr[i]);
       }
      }
      al.trimToSize();
      for(int i=0;i<al.size();i++){
       result+=al.get(i);
      }
      return result;
     }
    }
     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved