修剪字符串以删除空格

时间:2014-04-30 17:16:59

标签: java

我有一个字符串:"hello world"。这看起来没有空格,因此我尝试将其打印出字符串的o部分中的字符hell。我刚刚做了

string.chartAt(4) 

但令我惊讶的是,它什么都没打印出来。

我尝试调试它并意识到这个字符串有超过20个前导空格。我仍然可以将它打印出来,现在我知道领先的白色空间在哪里结束但是我的问题是假设一个人不知道白色空间在哪里结束而且只想修剪字符串以便它可以从第一个非白色开始打印空格信。如何用Java做到这一点?显然,使用string.trim()并不起作用。

3 个答案:

答案 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()