首页 >Java >java教程 >Java中如何高效去除多个空格并修剪前导/尾随空格?

Java中如何高效去除多个空格并修剪前导/尾随空格?

Susan Sarandon
Susan Sarandon原创
2024-11-30 09:55:11615浏览

How Can I Efficiently Remove Multiple Spaces and Trim Leading/Trailing Spaces in Java?

Java:用单个空格替换多个空格并修剪前导和尾随空格

解决将多个空格减少为单个空格的任务并消除前导和尾随空格,我们有几种 Java 解决方案。

解决方案1:使用trim()和replaceAll()

此解决方案利用trim()方法删除前导和尾随空格,然后使用replaceAll()将多个空格合并为一个空格:

String after = before.trim().replaceAll(" +", " ");

解决方案 2:仅使用正则表达式

虽然更少可读,使用复杂的正则表达式使用单个replaceAll()解决问题是可行的:

String[] tests = {
  "  x  ",      
  "  1   2   3  ",  
  "",             
  "   ",          
};
for (String test : tests) {
  System.out.format("[%s]%n",
      test.replaceAll("^ +| +$|( )+", "")
  );
}

解决方案详细信息

  • 解决方案1:trim()删除所有前导和尾随空格,而replaceAll()用单个空格替换连续空格space.
  • 解决方案 2: 正则表达式只需一步即可获得相同的结果。它将字符串开头、结尾或中间的空格序列匹配并替换为空字符串(以删除多余的空格)或单个捕获的空格(以保持单个空格完整)。

其他资源

  • [String.trim()文档](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim--)
  • [正则表达式重复模式](https:// www.regular-expressions.info/Repetition)
  • [正则表达式锚点](https://www.regular-expressions.info/Anchors)

以上是Java中如何高效去除多个空格并修剪前导/尾随空格?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn