萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> jsp編程 >> java去除字符串空格幾種做法

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

超初我用的只是最簡單的

網上搜索的都是什麼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;
 }
}
 

copyright © 萬盛學電腦網 all rights reserved