天天看點

java删除字元串中的反斜杠和\n\t等内容

    今天寫代碼時遇到需要解析由第三方系統傳來的字元串,但是測試過程中發現第三方系統傳來的字元串中包含\n\t等字元( 不是回車換行,是字元串中包含 )。如:My name is \“ZhangSan\”\n\t, nice to\n meet\t you.

    原因可能是第三方系統的回車換行符被當成字元傳過來了。自己搞了半天終于用java代碼把這些字元删除了。話不多說,代碼如下:

public class Test {
	public static void main(String[] args) throws Exception { 
		//第三方系統傳的字元串
		String str = "My name is \\\"ZhangSan\\\"\\n\\t, nice to\\n meet\\t you.";
		//列印轉義後的字元
		System.out.println("轉義後的字元串為:" + str);
		//删除\n
		str = str.replace("\\n","");
		//或者:str = str.replaceAll("\\\\n","");
		//删除\t
		str = str.replace("\\t","");
		//或者:str = str.replaceAll("\\\\t","");
		//最後删除單個的反斜杠
		str = str.replace("\\","");
		//或者:str = str.replaceAll("\\\\","");
		
	}
}
           

運作結果如下:

java删除字元串中的反斜杠和\n\t等内容

    總結:用replece删除時隻需要在前面加上轉義字元\即可,但是用replaceAll删除時需要加3個轉義字元,即\\\\n。原因:replaceAll方法會把連續的兩個反斜杠\\變成了一個反斜杠.