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

Java中String类中的trim()方法是用于去除字符串两端的空格或者是其他一些字符。该方法返回一个新字符串,不改变原有的字符串。trim()方法主要被用于处理从表单中读入的数据,去除输入的误操作,如前后空格,或者用户不小心输入的空格以及tab。

Java中String.trim()函数的作用实例及源码

概述

Java中String类中的trim()方法是用于去除字符串两端的空格或者是其他一些字符。该方法返回一个新字符串,不改变原有的字符串。trim()方法主要被用于处理从表单中读入的数据,去除输入的误操作,如前后空格,或者用户不小心输入的空格以及tab。

方法签名

public String trim()

参数说明

该方法没有参数

返回值

返回一个新的字符串对象,其值为该字符串去掉开头和结尾的空白字符的结果。

示例说明

示例 1

public class TrimStringExample {
    public static void main(String[] args) {
        String str = "    Hello World!     ";
        System.out.println("原字符串:" + str);
        System.out.println("去除空格后:" + str.trim());
    }
}

运行结果:

原字符串:    Hello World!     
去除空格后:Hello World!

示例 2

public class TrimStringExample {
    public static void main(String[] args) {
        String str = "  \t  \n   Hello \t  \n  World!  \n  \t ";
        System.out.println("原字符串:" + str);
        System.out.println("去除空白字符后:" + str.trim());
    }
}

运行结果:

原字符串:    Hello 
           World!  
去除空白字符后:Hello 
           World!

源码分析

源码中使用了4个索引标记变量,分别是start、end、len、s。start变量用于追踪字符串的开始位置,end变量用于追踪字符串的结束位置。len变量表示字符串的长度,s变量用于指向实际的字符串内容。

源码中的while循环用于查找字符串的开始位置,直到找到第一个非空白字符为止。如果字符串一直为空白字符,那么start会一直自增,如果找到了非空白字符,那么此时start就指向了该位置。同样的,while循环查找字符串的结束位置,直到找到最后一个非空白字符为止。最后使用substring()方法截取出去掉空白字符后的字符串。

public String trim() {
    int len = value.length;
    int st = 0;
    char[] val = value;   

    while ((st < len) && (val[st] <= ' ')) {
        st++;
    }
    while ((st < len) && (val[len - 1] <= ' ')) {
        len--;
    }
    return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
}

以上就是Java中String.trim()函数的作用实例及源码的详细解释。

本文标题为:java中string.trim()函数的作用实例及源码

基础教程推荐