trim.() 方法不起作用(java)
trim.() method does not work(java)
所以我正在尝试计算不带空格的字符串中的字符数。但是不知何故,我的 trim() 方法没有减少空格:
class Test {
HashMap<Character, Integer> testMap = new HashMap<>();
public void encode(String text) {
String code = text.trim();
for (int i = 0; i < code.length(); i++) {
Character key = code.charAt(i);
if (testMap.containsKey(key)) {
testMap.put(key, testMap.get(key) + 1);
} else {
testMap.put(key, 1);
}
}
System.out.println(testMap);
System.out.println(code);
}
主要方法:
public class MyMain {
public static void main(String[] args) {
Test test = new Test();
test.encode("Tessstttt faill");
}
}
所以输出是:
{ =1, a=1, s=3, T=1, t=4, e=1, f=1, i=1, l=2}
Tessstttt faill
我哪里错了。非常感谢!
(我还没有那么有经验,如果有明显错误,请见谅)
Trim 不会删除所有空格,只会删除前导和尾随。要删除所有空格,您需要这样的东西:
text.replaceAll("\s","")
你误会了trim()它
Returns a copy of the string, with leading and trailing whitespace omitted.
改用replace()
删除所有空格
text.replace(" ","");
Trim 不会那样做。 Trim 会做这样的事情
" hello world ".trim() > "hello world"
而是使用 .replace
" hello world ".replace(' ', '') > "helloworld"
trim()
方法只从字符串的开头和结尾删除spaces。不过,测试字符串中的 space 位于中间某处。
也许比修剪更好的选择是单独检查白色space 字符。 Character
class 为此目的提供了静态 isWhitespace(char)
方法。
实际上 java 中的 trim() 方法仅省略前导尾随白色 spaces,而不是字符串之间。
作为 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim().
所以,这里也不会省略Tessstttt和fail之间的space
您可以使用 replace()
删除此 space,例如 code = code.replace(" ", "");
所以我正在尝试计算不带空格的字符串中的字符数。但是不知何故,我的 trim() 方法没有减少空格:
class Test {
HashMap<Character, Integer> testMap = new HashMap<>();
public void encode(String text) {
String code = text.trim();
for (int i = 0; i < code.length(); i++) {
Character key = code.charAt(i);
if (testMap.containsKey(key)) {
testMap.put(key, testMap.get(key) + 1);
} else {
testMap.put(key, 1);
}
}
System.out.println(testMap);
System.out.println(code);
}
主要方法:
public class MyMain {
public static void main(String[] args) {
Test test = new Test();
test.encode("Tessstttt faill");
}
}
所以输出是:
{ =1, a=1, s=3, T=1, t=4, e=1, f=1, i=1, l=2}
Tessstttt faill
我哪里错了。非常感谢! (我还没有那么有经验,如果有明显错误,请见谅)
Trim 不会删除所有空格,只会删除前导和尾随。要删除所有空格,您需要这样的东西:
text.replaceAll("\s","")
你误会了trim()它
Returns a copy of the string, with leading and trailing whitespace omitted.
改用replace()
删除所有空格
text.replace(" ","");
Trim 不会那样做。 Trim 会做这样的事情
" hello world ".trim() > "hello world"
而是使用 .replace
" hello world ".replace(' ', '') > "helloworld"
trim()
方法只从字符串的开头和结尾删除spaces。不过,测试字符串中的 space 位于中间某处。
也许比修剪更好的选择是单独检查白色space 字符。 Character
class 为此目的提供了静态 isWhitespace(char)
方法。
实际上 java 中的 trim() 方法仅省略前导尾随白色 spaces,而不是字符串之间。 作为 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim().
所以,这里也不会省略Tessstttt和fail之间的space
您可以使用 replace()
删除此 space,例如 code = code.replace(" ", "");