`
jpgtama
  • 浏览: 17368 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java String 的trim 方法,并不仅仅是去掉空格

阅读更多

如果仔细看java api里面关于String.trim()方法的说明,就会明白trim()方法不是仅仅去掉空格,它去掉的是编码小于等于\u0020的字符,也就是在ASCII码里面十六进制20以前的字符。

 

 

 

 

 

 

 

Java API 写道
trim

public String trim()

Returns a copy of the string, with leading and trailing whitespace omitted.

(返回字符串的拷贝,前后空格被忽略)

If this String object represents an empty character sequence, or the first and last characters of character sequence represented by this String object both have codes greater than '\u0020' (the space character), then a reference to this String object is returned.

(如果字符串为空,或者前后都是编码大于\u0020的字符,返回原有字符串的引用)


Otherwise, if there is no character with a code greater than '\u0020' in the string, then a new String object representing an empty string is created and returned.

(否则,大家知道的...)


Otherwise, let k be the index of the first character in the string whose code is greater than '\u0020', and let m be the index of the last character in the string whose code is greater than '\u0020'. A new String object is created, representing the substring of this string that begins with the character at index k and ends with the character at index m-that is, the result of this.substring(k, m+1).

This method may be used to trim whitespace (as defined above) from the beginning and end of a string.

Returns:
A copy of this string with leading and trailing white space removed, or this string if it has no leading or trailing white space.

 

 

 

再看源代码就更确定了:

 

public String trim () {

        // 这里的start, end 是新字符串开始和结束的位置
	int start = offset, last = offset + count - 1;
	int end = last;



        // 下面的两个while循环计算start 和 end 的值
	while ((start <= end) && (value [start] <= ' ')) start++;
	while ((end >= start) && (value [end] <= ' ')) end--;


        // 如果值和原有的一样,就直接返回原有的字符串
	if (start == offset && end == last) return this;


        // 用 start 和 end 返回新的字符串
	return new String (start, end - start + 1, value);


}
 

 

分享到:
评论

相关推荐

    java去除空格、标点符号的方法实例.docx

    在Java中,去除空格可以使用trim()、replace()、replaceAll()等方法。 1. 使用trim()方法去除首尾空格 trim()方法可以去除字符串的首尾空格,但是不能去除中间的空格。例如: ```java String str = " hello world ...

    js 自定义trim去除字符串左右杂质

    在 Java 中,String 类型提供了 trim() 方法来去除字符串左右的空格。然而,在 JavaScript 中,并没有提供类似的方法来去除字符串左右的杂质。因此,我们需要自定义 trim() 方法来实现这个功能。 在 JavaScript 中...

    java中的String类常用方法解析(一)

    以上就是`String`类的一些常见方法,理解并熟练使用它们对于提升Java编程效率至关重要。在实际开发中,开发者通常会结合这些方法来处理字符串,实现各种文本操作。通过阅读和分析`TestString.java`文件,我们可以...

    Java string.trim()究竟去掉了什么

    Java中的String.trim()方法是一个用于移除字符串两端空白字符的标准方法,然而,它所移除的不仅仅是空格字符。trim()方法真正的作用是移除字符串首尾的所有空白字符,包括空格、制表符(tab)、换行符等。在编程中,...

    介绍java中String类的方法

    - `trim()`:去除字符串两端的空白字符(包括空格和换行符)。 - `valueOf()`:将其他类型的数据转换为String类型。 - `substring(int beginIndex, int endIndex)`:截取字符串的一部分,创建新的字符串。 5. **...

    Java的String类

    - 去除空格:`String trim()` - 删除字符串两端的空白字符。 7. **数据转换** - `static String valueOf(double d)`、`static String valueOf(long l)`、`static String valueOf(Object obj)`、`static String ...

    java trim()

    在Java编程语言中,`trim()`方法是针对`String`类的一个非常实用的功能,它用于去除字符串两端的空白字符,通常包括空格、制表符、换行符等。当你处理用户输入或读取文件数据时,可能会遇到不必要的空格,这时`trim...

    java中string.trim()函数的作用实例及

    Java 中的 String.trim() 函数是一个非常常用的方法,它可以将字符串两端的空格删除,以便于字符串的处理和比较。下面我们来详细介绍 String.trim() 函数的作用实例及源码。 String.trim() 函数的作用 String.trim...

    JAVA中String类常用方法使用实例.docx

    该方法主要实现的功能是返回一个去除了前后空格的字符串。使用方法为:变量.trim()。 Boolean equals(object obj) 该方法作用为将字符串与指定对象进行对比,返回 true 或者 false。使用方法为:变量名.equals...

    详解Java String字符串获取每一个字符及常用方法

    本文主要介绍了Java String字符串获取每一个字符及常用方法,涵盖了字符串的基本操作、获取每一个字符的方法、substring方法、trim方法、charAt方法等,并通过实例代码详细讲解了字符串的操作。 一、字符串的基本...

    面试题:Java String类常见操作和用法

    trim()方法可以去除字符串的前导和尾部空格。contains()方法用来检查字符串是否包含特定字符或子串。将其他数据类型转换为字符串可以使用valueOf()方法,而将字符串转换为其他数据类型则需要使用相应数据类型的parse...

    java去除空格、标点符号的方法实例

    本文将详细介绍Java中去除空格和标点符号的方法,通过具体的示例代码加深理解。 1. 去除空格 在Java中,去除字符串两端的空格,可以使用String类的trim()方法。这个方法返回一个新字符串,它是通过删除此字符串两...

    Java中String类.pdf

    11. `public String trim()`:去除字符串两端的空白字符,如空格、制表符等。 了解并熟练掌握这些方法对于编写Java程序至关重要。例如,`substring(int beginIndex, int endIndex)`方法的使用需要注意,返回的字符...

    10个有关String的面试问题Java开发Java经验技

    10. **String的intern()方法是做什么的?** intern()方法会返回常量池中的字符串引用。如果字符串已经存在于常量池,那么它会返回该字符串的引用;否则,会在常量池中创建一个新的字符串并返回其引用。 理解并掌握...

    10个Java经典的String面试题!.pdf

    Java的String并不是基本数据类型,而是引用类型。Java有8种基本数据类型,如int、char等,而String属于类,它继承了Object类。 2. **String是可变的吗?** String在Java中是不可变的,因为它的实例是final类型的...

    Java字符串分隔方法split实践

    如果你不希望这些空白,可以在正则表达式中添加`\b`来匹配边界,或者使用`trim()`方法去除额外的空格。 总的来说,Java中的`split()`方法是处理字符串的强大工具,它利用正则表达式的灵活性来满足各种分割需求。...

    使用trim()方法比较两个字符串是否相等,并输出结果(附详细步骤).txt

    - **trim() 方法**:`trim()`方法是Java String类的一个成员方法,它的功能是从字符串的开头和结尾删除所有空白字符(包括空格、制表符、换行符等)。该方法返回一个新的字符串,不修改原始字符串。 - **equals() ...

    10个Java经典的String面试题!.zip

    trim()去除字符串两端的空白字符,replace()方法用于替换字符串中特定的子串,如替换所有空格为下划线。 7. **String的compareTo()和compareToIgnoreCase()** compareTo()根据Unicode值比较字符串,返回负数、零...

    徐葳《40小时掌握java语言之06String类》内部教材

    在处理字符串时,常见的操作包括替换(如replace方法)、截取(如substring方法)、大小写转换(如toLowerCase、toUpperCase方法)、去除空格(如trim方法)等。这些方法提供了丰富的功能来处理字符串数据。 总之,...

    JavaString常见操作.pdf

    - 去除空白:`trim()`去除字符串两端的空白字符,`replaceAll("\\s+", " ")`可以替换连续的空白字符为一个空格。 在实际编程中,理解并熟练运用这些方法是处理字符串问题的关键。通过灵活组合这些方法,可以实现...

Global site tag (gtag.js) - Google Analytics