JAVA去空格,注意事項
阿新 • • 發佈:2018-12-20
情況:JAVA字串中,顯示有空格,正常可以通過正則表示式,或者String.trim()方法去掉,但是有些是不可以的
原因:空格的顯示,用的ASCII編碼是不一樣導致,如果是用空格,TAB鍵,或者換行符等,都可以用常規方法去除,但是我在前端頁面中,抓到的了 (牛逼空格),沒錯就是它,然後正則和String.trim(),replaceAll("//s*","")等都失效了。
解決:
public class TestSpace { public static void main(String[] args) throws Exception { //a中的空格,顯示為空格,其實是多個 組成的,所以正常方式,無法替換空格 String a = "18699104747 "; String b = "12345678977 "; System.out.println(a.length()); System.out.println(b.length()); //不成功 //a = a.replaceAll("\\s*", ""); b = b.replaceAll("\\s*", ""); System.out.println("a:" + a + "----"); System.out.println("b:" + b + "----"); System.out.println("a長度:" + a.length()); System.out.println("b長度:" + b.length()); //成功 byte bytes[] = {(byte) 0xC2,(byte) 0xA0}; String UTFSpace = new String(bytes,"utf-8"); a = a.replaceAll(UTFSpace, ""); System.out.println("a:" + a + "----"); System.out.println("a長度:" + a.length()); } }
結果:
16 16 a:18699104747 ---- b:12345678977---- a長度:16 b長度:11 a:18699104747---- a長度:11
參考文章: