我有一个字符串:"hello world"
。这看起来没有空格,因此我尝试将其打印出字符串的o
部分中的字符hell
。我刚刚做了
string.chartAt(4)
但令我惊讶的是,它什么都没打印出来。
我尝试调试它并意识到这个字符串有超过20个前导空格。我仍然可以将它打印出来,现在我知道领先的白色空间在哪里结束但是我的问题是假设一个人不知道白色空间在哪里结束而且只想修剪字符串以便它可以从第一个非白色开始打印空格信。如何用Java做到这一点?显然,使用string.trim()
并不起作用。
答案 0 :(得分:3)
就像ajb和Laf在评论中所说,记住字符串是不可变的。 trim
返回一个新的,修剪过的字符串。
class TrimTest {
public static void main(String[] args) {
String hello = " \n Hello World ";
String trimmedHello = hw.trim();
System.out.println("'" + trimmedHello + "'");
}
}
输出:
' Hello World'
答案 1 :(得分:2)
如String.trim()
的Javadoc所述:
返回字符串的副本,省略前导和尾随空格。
原始String
未被修改(String
在Java中是不可变的)。因此,您需要在调用trim()
后使用返回的对象。
// Assuming you have stored the orginial String in a variable called 'myString'
myString = myString.trim ();
System.out.print (myString.charAt(4));
// or
System.out.print (myString.trim ().charAt(4));
答案 2 :(得分:0)
方法trim()
应该有用。请记住,您必须分配结果:
result = yourVariable.trim()