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)
相关推荐
小大宇20 分钟前
python flask框架 SSE流式返回、跨域、报错
开发语言·python·flask
青山木1 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
柒星栈1 小时前
PHP 源码怎么加密防破解?三套方案实战指南
开发语言·php·android studio
勉灬之1 小时前
Next.js + Prisma 跨平台部署踩坑记
开发语言·javascript·ecmascript
程序员-珍1 小时前
报错下载android sdk失败
android·java
糖果店的幽灵1 小时前
langgraph分支之 - 动态分支(Dynamic Branch)
java·前端·javascript·人工智能·langgraph
吃饱了得干活1 小时前
亿级订单表分库分表设计,从0到1全流程
java·数据库·面试
这是个栗子1 小时前
前端开发中的常用工具函数(九)
开发语言·javascript·ecmascript·at
蓝创工坊Blue Foundry2 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
会飞的小新2 小时前
C 标准库之 <fenv.h> 详解与深度解析
c语言·开发语言·microsoft