【问题标题】:java : how to remove whitespace between letters of a word in a string [closed]java:如何删除字符串中单词字母之间的空格[关闭]
【发布时间】:2013-12-05 18:40:07
【问题描述】:

我有一个非常大的文本文件,我在字符串格式方面遇到了一些问题。我已将整个文本文件传递到一个字符串中,但只有一个问题。文件中有一些部分包含这种文本:

S E N T I N E L S    A R E  I N   T H E   S K Y 
  • WORDS 之间至少有 2 个空白字符。
  • 字母之间只有 1 个空格字符。

我必须将此特定部分转换为这种格式:

sentinels are in the sky 

注意:要查看原始文本文件,请单击此链接:http://files.seds.org/pub/software/text/weather.txt

【问题讨论】:

  • 你尝试了吗?如果是,请在此处发布。

标签: java regex string sed whitespace


【解决方案1】:

你可以试试这个方法。

String data = "S E N T I N E L S    A R E  I N   T H E   S K Y";
System.out.println(data.replaceAll("\\s(?=[A-Z])|(?<=\\s)\\s+", ""));

这个正则表达式将匹配并删除

  • \\s(?=[A-Z])后面有大写字母的每个空格
  • (?&lt;=\\s)\\s+ 前面有空格的一个或多个空格。

如果您想将结果转换为小写,您可以拨打toLowerCase()

【讨论】: