java - 如何从Java中的String中删除不同数量的空格? [复制]

Posted

技术标签:

【中文标题】java - 如何从Java中的String中删除不同数量的空格? [复制]【英文标题】:how to remove a distinct number of spaces from String in java? [duplicate] 【发布时间】:2018-12-20 19:53:31 【问题描述】:

我正在处理一个包含 6 个空格的字符串:

示例

String h = "abc      def";

我怎样才能只删除 5 个空格

我试过String.replace(h.substring(i,i+1),"")

还使用了字符串生成器

不工作

【问题讨论】:

只是h = h.replaceAll("\\s+", " "); 一个简单而不优雅的方式是String.replace(" "," "); h = h.replace(" ",""); 第一个字符串有5个空格,第二个没有。 @Jacob 它将删除所有空格。 @Jacob 哦,我明白了,这只是为了节省内存,以后你可以使用“代码”标签来编写 cmets。 【参考方案1】:

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

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

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

另外,正如 cmets 中所共享的,如果您想用一个空格替换任意数量的空格,您可以使用如下共享的正则表达式:

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 个空格是恒定的。基本上他想用一个空格删除任意数量的空格。 @JavaFan 如果是这样,更新我的答案:) 1+ 额外的努力

以上是关于java - 如何从Java中的String中删除不同数量的空格? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

java如何删除掉数组中的某个元素??

JAVA String 如何去掉指定字符

在JAVA中如何从数组中删除一个元素

java如何在String数组中取得指定内容的下标?

java中如何求一个数组中元素的和.

java ArrayList数组中如何插入一个元素