将空格转换为下划线

Dun*_*mer 0 java arrays string whitespace char

我正在从服务器检索一个播放器列表,我正在做它的事情(与问题无关).这些不相关的进程仅在用户名没有空格时才有效,而是使用字符'_'代替' '.我正在使用此代码循环遍历每个playername的角色,然后检测它是否为a ' ',如果是,则将其替换为a '_'但由于某种原因它根本没有被检测到?

    char[] name;

    for(String playerName : chatlist) {
        name = playerName.toCharArray();

        for(int i =0; i < name.length; i++) {
            if(name[i] == ' ') {
                name[i] = '_';
            }
        }

        String nameS = new String(name);
        System.out.println(playerName + " -> " + nameS);
    }
Run Code Online (Sandbox Code Playgroud)

用户名和输出的示例如下:

Testuser 1 会输出 Testuser_1

ExampleUser One 会输出 ExampleUser_One

The*_*ind 7

使用replaceAll("\\s+", "_").这是更好的方式.否则你将用"_"替换每个空格(这是你想要的吗?)