Java 去除字符串中多余的空格,只留一个

本文将介绍如何使用正则表达式和Java的String类来高效地去除字符串中的连续空格,提升代码的整洁性和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

string.replaceAll("\\s{1,}", " ")
### Java去除字符串多余空格的方法 在 Java 中,可以通过多种方式去除字符串中的多余空格。以下是几种常见的方式: #### 使用 `trim()` 方法去除首尾空格 `trim()` 方法用于移除字符串开头和结尾处的空白字符,包括空格、制表符和换行符[^2]。 ```java String str = " Hello, World! "; str = str.trim(); System.out.println(str); // 输出: Hello, World! ``` #### 使用正则表达式去除所有多余空格 为了去除字符串中所有的多余空格(即只保单词之间的单个空格),可以使用 `replaceAll()` 方法配合正则表达式。这会将多个连续的空格替换为单个空格,并且也会去掉首尾的空格[^1]。 ```java String str = " This is a test string. "; str = str.replaceAll("\\s+", " ").trim(); System.out.println(str); // 输出: This is a test string. ``` 这里使用的正则表达式 `\s+` 表示匹配一个或多个空白字符,包括空格、制表符和其他 Unicode 定义为空白的字符。 #### 自定义逻辑去除特定位置的多余空格 对于更复杂的场景,比如仅去除某些指定位置上的多余空格,则可能需要编写自定义逻辑来遍历字符串并处理这些情况[^3]。 ```java public class RemoveExtraSpaces { public static void main(String[] args) { String input = "This is an example."; StringBuilder result = new StringBuilder(); boolean lastWasSpace = false; for (char c : input.toCharArray()) { if (Character.isWhitespace(c)) { if (!lastWasSpace) { result.append(' '); lastWasSpace = true; } } else { result.append(c); lastWasSpace = false; } } System.out.println(result.toString().trim()); } } ``` 这段代码通过逐字检查输入字符串中的每一个字符,确保不会下任何不必要的额外空格
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值