当前位置: 首页 > article >正文

Java String trim()方法

Java 中的 String.trim() 方法用于移除字符串头部和尾部的所有空白字符。这里的“空白字符”是指任何 Unicode 代码点小于或等于 'U+0020'(空格字符)的字符。该方法返回一个新的字符串对象,其中所有的头部和尾部空白已被移除。由于 String 在 Java 中是不可变的,因此即使原始字符串没有头部或尾部空白,返回的也是一个新的字符串引用。

以下是一些关于 trim() 方法的重要事项:

  • trim() 方法可以移除所有类型的空白字符是不准确的,实际上它只移除那些代码点小于或等于 'U+0020' 的字符。
  • 如果字符串中没有任何头部或尾部空白,则该方法返回原字符串。
  • 如果字符串中有头部或尾部空白,trim() 方法返回一个子字符串,其中所有头部和尾部空白都被移除,并且返回的新字符串是一个新的对象引用。
  • 如果字符串仅由空白字符组成,则返回代表空字符串的 String 对象。

以下是一个简单的代码示例来熟悉 trim() 方法:

public class Codekru {
    public static void main(String[] args) {
        String str1 = " codekru ";
        System.out.println("Before using trim function: " + "====" + str1 + "=====");
        String str2 = str1.trim();
        System.out.println("After using trim function: " + "====" + str2 + "=====");
    }
}

输出将是:

Before using trim function: ==== codekru =====
After using trim function: ====codekru=====

你可以看到,在使用 trim() 方法之前,字符串的头部和尾部存在空白字符,而在之后这些空白字符已经被移除了。

特殊情况:

  • 如果字符串包含不同类型的空白字符,例如 'U+00A0'trim() 方法将不会移除这种类型的空白字符,因为它们的代码点大于 'U+0020'

示例代码:

public class Codekru {
    public static void main(String[] args) {
        String str1 = "\u2003codekru";
        System.out.println("Before using trim function: " + "====" + str1 + "=====");
        String str2 = str1.trim();
        System.out.println("After using trim function: " + "====" + str2 + "=====");
    }
}

输出将是:

Before using trim function: ==== codekru=====
After using trim function: ==== codekru=====

可以看到,trim() 方法并没有移除 'U+2003' 这种类型的空白字符。


http://www.kler.cn/news/315639.html

相关文章:

  • 如何创建模板提示prompt
  • Linux移植之系统烧写
  • Redis 中 String 字符串类型详解
  • 2024年中国研究生数学建模竞赛B题(华为题目)WLAN组网中网络吞吐量建模一
  • libtorch落地AI项目的一些总结
  • 面试题(八)
  • OpenCV_图像膨胀腐蚀与形态学操作及具体应用详解
  • 分布式安装LNMP
  • [OpenCV] 数字图像处理 C++ 学习——16直方图均衡化、直方图比较 详细讲解+附完整代码
  • 超详细的XML介绍【附带dom4j操作XML】
  • 口腔检测系统源码分享
  • php怎么连接使用kafka
  • 【AI算法岗面试八股面经【超全整理】——NLP】
  • 学生管理系统1.0版本
  • Kotlin 基本介绍(一)
  • 如何确保消息只被消费一次:Java实现详解
  • Python 中的 HTTP 编程入门,如何使用 Requests 请求网络
  • 实现人体模型可点击
  • Kotlin 枚举和 when 表达式(六)
  • 关于Python sklearn CountVectorizer使用详解
  • 多模态论文串讲-学习笔记(上)
  • docker配置镜像加速器
  • 亚马逊IP关联揭秘:发生ip关联如何处理
  • 【BEV 视图变换】Ray-based(2): 代码复现+画图解释 基于深度估计、bev_pool
  • MoveIt控制机械臂的运动实现——机器人抓取系统基础系列(二)
  • 带你0到1之QT编程:十七、Http协议实战,实现一个简单服务器和一个客户端进行http协议通信
  • 校园美食发现:Spring Boot技术的美食社交平台
  • Flyway 版本迁移文件
  • 【Kubernetes】常见面试题汇总(三十二)
  • Docker 系列完结