我想删除数字类型字符串中的所有空格,我使用了trim()
,replaceall(" ", "")
等函数,但最后一个空格总是关闭。
代码:
String str = " 13554912187 ";
//String str2 = str.replaceAll(" ", "");
String str2 = str.trim();
System.out.println(str);
System.out.println(str.length());
System.out.println(str2);
System.out.println(str2.length());
我想知道原因。
答案 0 :(得分:2)
确保String.trim()
实际上将尾随空格视为空格 - 只有代码小于或等于\u0020
的字符才会被视为空格 - 请参阅String.trim()
documentation。
一些可能的方法来检查:
String
实例中存储的值答案 1 :(得分:1)
String str = " 13554912187 ";
修剪前导和尾随空白
str.trim(); -> "13554912187"
左侧修剪:
str.replaceAll("^\\s+", ""); -> "13554912187 "
对于正确的修剪:
str.replaceAll("\\s+$", ""); -> " 13554912187"
不可思议的视觉证据
答案 2 :(得分:-1)
String str2 = str.trim();
trim()方法删除单词前后的空格。
像
String s=" 45654 65 ";
System.out.println(s.startsWith(" "));
System.out.println(s.endsWith(" "));
s=s.trim();
System.out.println(s.startsWith(" "));
System.out.println(s.endsWith(" "));
输出:
true
true
false
false