在java中,如何从字符串中删除不同数量的空格?

在java中,如何从字符串中删除不同数量的空格?,java,string,Java,String,我处理的是一个字符串,每个字符串后面都有6个空格: 示例 String h = "abc def"; 我怎么能只删除5个空格 我尝试了String.replace(h.substring(I,I+1),“”) 还使用了字符串生成器 不工作您可以使用以下行将6个空格替换为1个空格: jshell> String a = "abc def"; a ==> "abc def" jshell> a = a.replaceAll(" ", "")

我处理的是一个字符串,每个字符串后面都有6个空格:

示例

String h = "abc      def";
我怎么能只删除5个空格

我尝试了
String.replace(h.substring(I,I+1),“”)

还使用了字符串生成器


不工作

您可以使用以下行将6个空格替换为1个空格:

jshell> String a = "abc      def";
a ==> "abc      def"

jshell> a = a.replaceAll("     ", "");
a ==> "abc def"
此外,正如注释中所共享的,如果要用一个空格替换任意数量的空格,可以使用下面共享的正则表达式:

jshell> String a = "abc      def";
a ==> "abc      def"

jshell> a = a.replaceAll("\\s+", " ");
a ==> "abc def"

jshell> String a = "abc            def";
a ==> "abc            def"

jshell> a = a.replaceAll("\\s+", " ");
a ==> "abc def"

您可以使用以下行将6个空格替换为1个空格:

jshell> String a = "abc      def";
a ==> "abc      def"

jshell> a = a.replaceAll("     ", "");
a ==> "abc def"
此外,正如注释中所共享的,如果要用一个空格替换任意数量的空格,可以使用下面共享的正则表达式:

jshell> String a = "abc      def";
a ==> "abc      def"

jshell> a = a.replaceAll("\\s+", " ");
a ==> "abc def"

jshell> String a = "abc            def";
a ==> "abc            def"

jshell> a = a.replaceAll("\\s+", " ");
a ==> "abc def"

只是
h=h.replaceAll(“\\s+”,”)一种简单而不雅的方式是字符串。替换(“,”)<代码>h=h。替换(“,”)第一个字符串有5个空格,第二个字符串没有。@Jacob它将删除所有空格。@Jacob哦,我得到它只是为了节省内存,将来您可以使用'code'标记来写注释。just
h=h.replaceAll(“\\s+”,”)一种简单而不雅的方式是字符串。替换(“,”)<代码>h=h。替换(“,”)
第一个字符串有5个空格,第二个没有。@Jacob它将删除所有空格。@Jacob哦,我得到了它,它只是为了节省内存,将来你可以使用“code”标记来写注释。我不认为6个空格是常量。基本上,他想用一个空格来删除任意数量的空格。@JavaFan如果是这样的话,更新了我的答案:)1+额外的努力我不认为6个空格是常数。基本上,他想用一个空格来删除任意数量的空格。@JavaFan如果是这样的话,请更新我的答案:)1+以获得额外的努力