Java String trim()方法

embedded/2025/1/17 3:52:17/

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

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

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

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

java">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'

示例代码:

java">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.ppmy.cn/embedded/115518.html

相关文章

SAP B1 Web Client MS Teams App集成连载三

过程/Procedure: 1.在应用商店中,点击启动 SAP Business One 应用。应用详细信息页面显示如下。 In the Apps store, click SAP Business One app to launch it. The app details page is displayed as below 2.在左上角,有一个包含两个选项的…

热题系列章节20

25. K 个一组翻转链表 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next from queue import PriorityQueue class Solution:def mergeKLists(self, lists: List[Option…

python异常处理知识简记

简单记录一下python异常处理的基本知识点 一、错误类型 1)AssertionError:断言语句(assert)失败 2)AttributeError:尝试访问未知的对象属性 3)IndexError:索引超出序列的范围 4…

《机器人SLAM导航核心技术与实战》第1季:第9章_视觉SLAM系统

视频讲解 【第1季】9.第9章_视觉SLAM系统-视频讲解 【第1季】9.1.第9章_视觉SLAM系统_ORB-SLAM2算法(上)-视频讲解 【第1季】9.1.第9章_视觉SLAM系统_ORB-SLAM2算法(下)-视频讲解 【第1季】9.2.第9章_视觉SLAM系统_LSD-SLAM算法…

聚焦API安全未来,F5打造无缝集成的解决方案

研究发现,目前超过90%的基于Web的网络攻击都以API端点为目标。随着对API使用需求的增加,这些攻击还会持续增长。现代企业需要一种动态防御策略,在风险升级成代价高昂、令人警惕且往往无法预防的API安全漏洞之前,发现并降低风险。 …

队列+宽搜专题篇

目录 N叉树的层序遍历 二叉树的锯齿形层序遍历 二叉树最大宽度 在每个树行中找最大值 N叉树的层序遍历 题目 思路 使用队列层序遍历来解决这道题,首先判断根节点是否为空,为空则返回空的二维数组;否则,就进行层序遍历&#x…

Android-UI设计

控件 控件是用户与应用交互的元素。常见的控件包括: 按钮 (Button):用于执行动作。文本框 (EditText):让用户输入文本。复选框 (CheckBox):允许用户选择或取消选择某个选项。单选按钮 (RadioButton):用于在多个选项中…

计算机网络-小型综合网络的搭建涉及到无线路由交换安全

目录 1 拓扑架构 2 做项目的思路 3 做配置 3.1先做核心交换 3.2 防火墙的配置 4 ac 和ap 的配置 4.1 ac上配置安全的东西 5.1 测试​编辑 1 拓扑架构 要求看上面的图 2 做项目的思路 这张网很明显是一个小综合,设计到我们的无线交换,路由…