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.xdnf.cn/news/147025.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【pyVista】在三维模型中的网格属性

一,什么是属性? 属性是存在于 一个网格。在 PyVista 中,我们同时使用点数据和单元数据,并且 允许轻松访问数据字典以保存属性数组 它们位于网格的所有点或所有单元上。 点数据 点数据是指值数组(标量、向量等&#x…

mockito+junit搞定单元测试(2h)

一,简介 1.1 单元测试的特点 配合断言使用(杜绝 System.out )可重复执行不依赖环境不会对数据产生影响spring 的上下文环境不是必须的一般都需要配合 mock 类框架来实现 1.2 mock 类框架使用场景 要进行测试的方法存在外部依赖(如 db, redis, 第三方接口调用等)…

在Linux中运行flask项目

准备 这里我准备了一个GitHub上某个大佬写的留言板的Flask项目,就用这个来给大家做示范了。 查看留言板的目录结构 查看主程序所用的库函数 只有一个第三方库 Flask 安装pip sudo apt install python3-pip -y测试 pip 安装成功 修改pip镜像源 修改pip的默认下载…

Django学习实战之评论验证码功能(附A)

前言: 对于具有评论功能的博客来说,无论是否为知名博客,都会被恶意广告关注,上线没几天就会有人开始通过程序灌入广告评论,因此针对所有有用户输入的页面,验证码是必需品。 在Django系统中使用验证码非常简…

[Python数据可视化]探讨数据可视化的实际应用:三个案例分析

数据可视化是理解复杂数据集的重要工具,通过图形化的方法,可以直观地展示信息、趋势和模式。本文将深入探讨三个实际案例,包括健康数据分析、销售趋势分析、城市交通流量分析。每个案例将提供假设数据、详细注释的代码及分析结果。 案例 1: …

【每日刷题】Day128

【每日刷题】Day128 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 606. 根据二叉树创建字符串 - 力扣(LeetCode) 2. LCR 194. 二叉树的最近公…

Spring在不同类型之间也能相互拷贝?

场景还原 日常开发中,我们会定义非常多的实体,例如VO、DTO等,在涉及实体类的相互转换时,常使用Spring提供的BeanUtils.copyProperties,该类虽好,可不能贪用。 这不在使用过程中就遇到一个大坑&#xff0c…

逻辑分析仪看波形方法

一、串口波形讲解 异步串行数据的一般格式是:起始位数据位停止位,其中起始位1 位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。 对于正逻辑的TTL电平, a.起始位是一个值为0的位,低电平&#xff…

leetcode练习 二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3提示: 树中节点的数量在 [0, 104] 区间内。-100 …

【图像检索】基于Gabor特征的图像检索,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于Gabor特征的图像检索,用matlab实现。 一、案例背景和算法介绍 这次博…

排序----快速排序(快排)(递归版)

首先讲一下单趟的思路: 在这一块数据中,记录第一个元素为key,然后设置L和R两个指针,L找比key处的元素大的,R找比key处元素小的,找到了就交换这两个位置的元素。当两个指针相遇时,若相遇点的元素…

20240921在友善之臂的NanoPC-T6开发板上确认宸芯的数传模块CX6602N的AT命令

console:/dev # cat ttyUSB1 & console:/dev # echo AT > ttyUSB1 20240921在友善之臂的NanoPC-T6开发板上确认宸芯的数传模块CX6602N的AT命令 2024/9/21 21:03 【必须】Android12/Linux(Buildroot)都必须要! 4、【Android12默认打开U…

https的连接过程

根证书: 内置在操作系统和浏览器中,可手动添加,下级是中间证书或服务器证书,只有当中间证书或服务器证书关联到已存在的根证书时,中间证书或服务器证书才视为有效 中间证书: 位于根证书和服务器证书之间,他们之间也可以没有中间证书,作用是对根证书增加一个下级,方便管理,由根…

GAMES101(作业4~5)

作业四 题目: 由 4 个控制点表示的 Bzier 曲线, bezier:该函数实现绘制 Bzier 曲线的功能。它使用一个控制点序列和一个 OpenCV::Mat 对象作为输入,没有返回值。它会使 t 在 0 到 1 的范围内进 行迭代&a…

【Linux】进程地址空间和进程调度队列

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12625432.html 目录 问题现象 进程地址空间 进一步理解 地址空间 Linux2.6内核进程调度队列 …

RecyclerView的notifyDataSetChanged和notifyItemRemoved之间的区别

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 RecyclerView 提供了多种方法来通知适配器(Adapter)数据集发生变化,其中 notifyDataSetChanged() 和 notify…

数据库系统基础概述

文章目录 前言一、数据库基础概念 1.数据库系统的组成2.数据模型3.数据库的体系结构二、MySQL数据库 1.了解MySQL2.MySQL的特性3.MySQL的应用场景总结 前言 MySQL数据库是一款完全免费的产品,用户可以直接从网上下载使用,不用花费任何费用。这点对于初学…

proteus仿真学习(1)

一,创建工程 一般选择默认模式,不配置pcb文件 可以选用芯片型号也可以不选 不选则从零开始布局,没有初始最小系统。选用则有初始最小系统以及基础的main函数 本次学习使用从零开始,不配置固件 二,上手软件 1.在元件…

【AcWing】875. 快速幂

#include<iostream> using namespace std; typedef long long LL;LL qmi(int a,int b,int p){LL res1%p;//%p是为了p1的时候&#xff0c;余数是0while(b){if(b&1) resres*a%p;//位数是1的b>>1;aa*(LL)a%p;//a*a再modp是为了防止溢出}return res; }int main(){i…

【动态规划】(三)动态规划——完全背包

动态规划——完全背包 完全背包理论基础零钱兑换Ⅱ组合总和Ⅳ爬楼梯&#xff08;进阶版&#xff09;零钱兑换完全平方数单词拆分背包问题总结 完全背包理论基础 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品…