杰瑞科技汇

Java正则表达式如何高效替换空格?

Java 正则表达式替换空格

在 Java 中,你可以使用 String.replaceAll() 方法结合正则表达式来替换字符串中的空格,以下是几种常见的替换空格的方式:

Java正则表达式如何高效替换空格?-图1
(图片来源网络,侵删)

替换所有空格(包括空格、制表符、换行符等)

String input = "Hello World\tJava\nProgramming";
String result = input.replaceAll("\\s", ""); // 移除所有空白字符
System.out.println(result); // 输出: HelloWorldJavaProgramming

仅替换普通空格(ASCII 32)

String input = "Hello World Java";
String result = input.replaceAll(" ", "_"); // 用下划线替换空格
System.out.println(result); // 输出: Hello_World_Java

替换连续多个空格为单个空格

String input = "Hello    World   Java";
String result = input.replaceAll("\\s+", " "); // 多个空白字符替换为单个空格
System.out.println(result); // 输出: Hello World Java

替换字符串开头和结尾的空格

String input = "   Hello World   ";
String result = input.replaceAll("^\\s+|\\s+$", ""); // 移除开头和结尾的空格
System.out.println(result); // 输出: Hello World

替换特定位置的空格

String input = "Hello World Java";
String result = input.replaceAll("(?<=\\w)\\s(?=\\w)", "_"); // 替换单词间的空格
System.out.println(result); // 输出: Hello_World_Java

注意事项

  • \\s 匹配任何空白字符,包括空格、制表符、换行符等
  • \\s+ 匹配一个或多个连续的空白字符
  • ^ 表示字符串开头, 表示字符串结尾
  • (?<=\\w) 是正向后顾断言,(?=\\w) 是正向前瞻断言

如果你需要更复杂的替换逻辑,可以结合 PatternMatcher 类来实现。

Java正则表达式如何高效替换空格?-图2
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇