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)
相关推荐
551只玄猫2 小时前
【数学建模 matlab 实验报告12】聚类分析和判别分析
开发语言·数学建模·matlab·课程设计·聚类·实验报告
小陈工3 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
H Journey3 小时前
C++之 CMake、CMakeLists.txt、Makefile
开发语言·c++·makefile·cmake
一定要AK8 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao8 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao8 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
lly2024068 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨8 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9998 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4948 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源