天天看點

王立平--trim(),replace(),replaceAll()

1. String.trim()

  trim()是去掉首尾空格

2.str.replace(" ", ""); 去掉所有空格,包括首尾、中間

  String str = " hell o ";

  String str2 = str.replaceAll(" ", "");

--------------------------------------------------------------------------------------

在jdk6.0的api中replaceAll()和replease()的解釋分别如下:

replaceAll

public String replaceAll(String regex,
                         String replacement)      

使用給定的 replacement 字元串替換此字元串比對給定的正規表達式的每個子字元串。

此方法調用的 str.replaceAll(regex, repl) 形式産生與以下表達式完全相同的結果:

Pattern

.

compile

(regex).

matcher

(str).

replaceAll

(repl)
參數:

regex

 - 用來比對此字元串的正規表達式
傳回:
得到的 String
抛出:

PatternSyntaxException

 - 如果正規表達式的文法無效
從以下版本開始:
1.4
另請參見:

Pattern

replace

public String replace(CharSequence target,
                      CharSequence replacement)      
使用指定的字面值替換序列替換此字元串比對字面值目标序列的每個子字元串。該替換從此字元串的開始一直到結束,例如,用 "b" 替換字元串 "aaa" 中的 "aa" 将生成 "ba" 而不是 "ab"。
參數:

target

 - 要被替換的 char 值序列

replacement

 - char 值的替換序列
傳回:
得到的字元串
抛出:

NullPointerException

 - 如果 

target

 或 

replacement

 為 

null

從以下版本開始:
1.5 
注意:
public String replaceAll(String regex, String replacement)      
其中的第一個參數為正在表達式,而非字元串!!      
public String replace(CharSequence target, CharSequence replacement)      
這個才是字元串!!
示例代碼如下:      
public class Demo1 {
	@Test
	public void test(){
		String str = "..abcd";
		System.out.println(str.replaceAll("..", ""));
		System.out.println(str.replace("..", ""));
	}
}
      
結果為:      
abcd
      
注意:第一行為空,因為在正在表達式當中"."代表任何字元,是以兩個".."把所有字元都替換掉了,故輸出為空。      

繼續閱讀