我正在尝试测试这种方法:
public static String trimExtraSpace(String str) {
str.trim().replaceAll(" +", " ");
return str;
}
我有Junit测试用例:
@Test
public void testTrimExtraSpace() {
String str = " foo \n b a r ";
assertEquals("foo \n b a r", Strings.trimExtraSpace(str));
}
Reuslt:
为什么这不想工作?
答案 0 :(得分:1)
我想从API文档中trim()方法返回一个String实例,你需要捕获该实例并对其进行操作然后返回(返回的)实例。
答案 1 :(得分:1)
String
在Java中是不可变的。你必须做这样的事情:
public static String trimExtraSpace(String str) {
String trimmedStr = str.trim().replaceAll(" +", " ");
return trimmedStr;
}
您可能还需要更改replaceAll
中使用的正则表达式(我无法测试):
String trimmedStr = str.trim().replaceAll("\\s+", " ");
答案 2 :(得分:0)
我猜你应该使用正则表达式。在这种情况下:
urString = yourString.replaceAll("\\s+", " ");
玩得开心