Java中strip与trim()的区别

@TOC

Java中strip与trim()的区别

jdk11及以上版本,java的String支持strip()方法,那么原来的删除空白trim()strip()的区别时什么?

区别

trim():仅处理字符串首尾的ASCII空白字符串 (小于等于\u0020字符,如空格、\t\n\r\f等),无法处理中文全角空格,不间断空格(\u00A0)等Unicode空白
strip():去除首位全部的Unicode空白字符

总结:strip()适配多语言场景,trim()仅支持ASCII字符场景

扩展

除了strip()外,还支持了两个方法:

  • 仅去除首部空白:stripLeading()
  • 仅去除尾部空白:stripLeading()

以下是常见的Unicode空白字符及其详细说明:

普通空格 (U+0020)

  • 最常见的空格字符
  • 宽度通常为字体中"0"字符宽度的一半
  • 在HTML中会合并多个连续空格为一个

不间断空格 (U+00A0)

  • 用于防止自动换行
  • 常见用例:防止数字与单位分开(如"100 km")
  • 在HTML中表示为

零宽空格 (U+200B)

  • 不可见的空格字符
  • 用于标记断字位置但不显示空格
  • 在复杂脚本语言中用于控制字符连接

窄空格 (U+2009)

  • 宽度约为普通空格的1/3
  • 用于数字分组(如"1 000 000")
  • 在法语中用于标点符号前

全角空格 (U+3000)

  • 主要用于东亚文字排版
  • 宽度与汉字相同
  • 用于中文文本的对齐和缩进

制表符 (U+0009)

  • 水平制表符
  • 宽度通常相当于4-8个普通空格
  • 用于代码对齐和表格数据

换行符 (U+000A)

  • 行结束标记
  • 在Unix/Linux系统中作为行终止符
  • 在Windows中与回车符(U+000D)配合使用

其他特殊空白字符

  • 零宽非连接符(U+200C)
  • 零宽连接符(U+200D)
  • 六分之一空格(U+2006)
  • 四分之一空格(U+2005)
相关推荐
陳10306 小时前
C++:红黑树
开发语言·c++
一切尽在,你来6 小时前
C++ 零基础教程 - 第 6 讲 常用运算符教程
开发语言·c++
泉-java6 小时前
第56条:为所有导出的API元素编写文档注释 《Effective Java》
java·开发语言
weixin_499771556 小时前
C++中的组合模式
开发语言·c++·算法
初级代码游戏6 小时前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
_waylau6 小时前
鸿蒙架构师修炼之道-架构师的职责是什么?
开发语言·华为·harmonyos·鸿蒙
zfoo-framework6 小时前
帧同步和状态同步
java
charlotte102410246 小时前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
2的n次方_6 小时前
CANN Ascend C 编程语言深度解析:异构并行架构、显式存储层级与指令级精细化控制机制
c语言·开发语言·架构
亓才孓6 小时前
[JDBC]PreparedStatement替代Statement
java·数据库