java string去除空格_Java String.trim()方法去掉的不只是空格

本文详细介绍了Java中的String.trim()方法,该方法不仅去除空格,还会移除从''到' '的20个字符,包括回车换行。通过示例代码展示了trim()方法如何工作,并提供了API说明来解释其内部逻辑。此外,还提供了输出这20个字符的代码以供理解。
摘要由CSDN通过智能技术生成

trim方法一般用来去除空格,但是根据JDK API的说明,该方法并不仅仅是去除空格,它能够去除从编码’\u0000′ 至 ‘\u0020’ 的所有字符。

回车换行也在这20个字符之中,以下是一个示例:

public class StringTest {

public static void main(String[] args) {

char[] chars = {‘a’,’b’,’c’,’\r’,’\n’};

System.out.println(chars.length);

String str = new String(chars);

System.out.println(str.length());

String newStr = str.trim();

System.out.println(newStr.length());

}

}

输出如下:

5

5

3

从输出可以看出,trimI()方法吧\r\n两个字符也去掉了。

以下是trim()方法的API说明:

public String trim()

返回字符串的副本,忽略前导空白和尾部空白。

如果此 String 对象表示一个空字符序列,或者此 String 对象表示的字符序列的第一个和最后一个字符的代码都大于 ‘\u0020’(空格字符),则返回对此 String 对象的引用。

否则,若字符串中没有代码大于 ‘\u0020’ 的字符,则创建并返回一个表示空字符串的新的 String 对象。

否则,假定 k 为代码大于 ‘\u0020’ 的第一个字符的索引,m 为代码大于 ‘\u0020’ 的最后一个字符的索引。创建一个新的 String 对象,它表示此字符串中从索引 k 处的字符开始,到索引 m 处的字符结束的子字符串,也就是 this.substring(k, m+1) 的结果。

此方法用于截去字符串从头到尾的空白(如上面所定义)。

返回:

此字符串移除了前导和尾部空白的副本,如果没有前导和尾部空白,则返回此字符串。

trim()方法可以去除的字符明细可以通过以下函数进行输出:

public class StringTest {

public static void main(String[] args) {

char[] chars = new char[20];

chars[0] = ‘\u0000’;

chars[1] = ‘\u0001’;

chars[2] = ‘\u0002’;

chars[3] = ‘\u0003’;

chars[4] = ‘\u0004’;

chars[5] = ‘\u0005’;

chars[6] = ‘\u0006’;

chars[7] = ‘\u0007’;

chars[8] = ‘\u0008’;

chars[9] = ‘\u0009’;

chars[10] = ‘\u0010’;

chars[11] = ‘\u0012’;

chars[12] = ‘\u0013’;

chars[13] = ‘\u0014’;

chars[14] = ‘\u0015’;

chars[15] = ‘\u0016’;

chars[16] = ‘\u0017’;

chars[17] = ‘\u0018’;

chars[18] = ‘\u0019’;

chars[19] = ‘\u0020’;

for (int i = 0; i < chars.length; i++) {

System.out.print("(" + i + ")" + chars[i] + " ");

if (i != 0 && i % 5 == 0) {

System.out.println();

}

}

}

}

输出如下:

426e42829c7f4b3162fa1ef0adb324f9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值