You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除ArrayList输出结果中逗号后的空格?

问题分析与解决

你遇到的核心问题不是元素本身带空格,而是ArrayList默认的toString()方法会在元素之间自动添加逗号加空格。你代码里的word.replaceAll("\\s+","")没起作用,是因为String是不可变类型,调用replaceAll后必须把返回值重新赋值给变量,但实际上你用split("\\s+")分割后得到的单词已经是无空格的,这个操作本来就多余。

另外注意:你代码里的split("\s+")要改成split("\\s+"),Java字符串里的转义符需要双反斜杠,否则会被判定为非法转义。


解决方法

要得到你想要的无空格格式输出,不能直接打印ArrayList,需要手动控制拼接逻辑:

方法1:手动循环拼接

StringBuilder sb = new StringBuilder("[");
for (int i = 0; i < SplituserWords.size(); i++) {
    sb.append(SplituserWords.get(i));
    if (i != SplituserWords.size() - 1) {
        sb.append(",");
    }
}
sb.append("]");
System.out.println(sb.toString());

方法2:使用StringJoiner(Java 8+)

更简洁的拼接方式:

StringJoiner joiner = new StringJoiner(",", "[", "]");
for (String word : SplituserWords) {
    joiner.add(word);
}
System.out.println(joiner.toString());

方法3:Stream API一行搞定(Java 8+)

import java.util.stream.Collectors;

// ...

String result = SplituserWords.stream().collect(Collectors.joining(",", "[", "]"));
System.out.println(result);

修正后的完整代码

import java.util.ArrayList;
import java.util.Scanner;
import java.util.StringJoiner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        ArrayList<String> userWords = new ArrayList<>();
        ArrayList<String> SplituserWords = new ArrayList<>();
        System.out.println("Please enter your phrase: ");
        userWords.add(input.nextLine());
        
        for (int index = 0; index < userWords.size(); index++) {
            String[] split = userWords.get(index).split("\\s+");
            for (String word : split) {
                SplituserWords.add(word);
            }
        }
        
        // 输出目标格式
        StringJoiner joiner = new StringJoiner(",", "[", "]");
        for (String word : SplituserWords) {
            joiner.add(word);
        }
        System.out.println(joiner.toString());
    }
}

内容的提问来源于stack exchange,提问作者Alexia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:10:15