trimstart()只去开头空白,trimend()只去结尾空白,二者均不修改原字符串;可组合使用实现比trim()更精细的控制,如逐行清理末尾空格而保留缩进。

直接用 trimStart() 去掉开头所有空白,用 trimEnd() 去掉结尾所有空白。两者都不改动原字符串,只返回新字符串,适合需要保留某端空格的场景。
trimStart():只清理字符串开头的空白
它会移除字符串最左侧连续的空白字符,包括空格、制表符(\t)、换行符(\n)、回车符(\r)、垂直制表符、换页符等,但完全保留末尾和中间的空格。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 常见用途:处理带缩进的代码片段、保留右对齐格式、清洗用户输入时仅规范开头
- 注意:trimLeft() 是它的别名,但推荐统一使用 trimStart()
- 示例:
const str = " \t\n Hello World ";
console.log(str.trimStart()); // "Hello World "
trimEnd():只清理字符串结尾的空白
它专注清除字符串最右侧连续的空白字符,开头和中间内容原样保留,非常适合维护结构或对齐需求。
- 常见用途:清理多行文本每行末尾冗余空格、导出数据前避免尾部空格干扰、配合模板字符串做精细控制
- 注意:trimRight() 是它的别名,同样建议优先用 trimEnd()
- 示例:
const str = " Hello World\t\n ";
console.log(str.trimEnd()); // " Hello World"
组合使用:比 trim() 更可控
虽然 str.trimStart().trimEnd() 效果等同于 str.trim(),但分步调用能插入逻辑——比如只在特定条件下清理尾部,或对不同字段应用不同策略。
- 不推荐嵌套写法如 str.trimEnd(str.trimStart()),语法错误且不可读
- 正确链式调用:str.trimStart().trimEnd()
- 实际小技巧:结合 split('\n').map(line => line.trimEnd()) 清理每行末尾空格,同时保留换行与首行缩进
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










