Допустим, у вас есть строка, состоящая из нескольких слов:

String s = "Hello   Amazing   World";

Причём эти слова разделены несколькими пробелами.

Если вам нужно заменить пробелы между этими словами, вы можете воспользоваться двумя способами.

Замена всех пробелов

Первый способ – это замена всех пробелов с помощью метода методом String.replaceAll. Этот метод заменит буквально каждый пробел в строке на нужный символ:

System.out.println("Hello   Amazing   World".replaceAll(" ", "_"));

Замена пробелов между словами

Если же вам нужно заменить несколько пробелов между словами на определённый символ, вы можете воспользоваться regex «\\s+»:

System.out.println("Hello   Amazing   World".replaceAll("\\s+", "_"));

В этом случае вся цельная последовательность пробелов будет заменена на нужный символ.

Исходный код

package ru.javalessons.strings;

public class ReplaceWhitespacesBetweenWords {
    public static void main(String[] args) {
        System.out.println("Hello   Amazing   World".replaceAll(" ", "_"));
        System.out.println("Hello   Amazing   World".replaceAll("\\s+", "_"));
        System.out.println(replaceWhitespacesBetweenWords("Hello   Amazing   World", "_"));
    }

    public static String replaceWhitespacesBetweenWords(String s, String replace) {
        if (s == null || s.length() < 2) return "";

        return s.replaceAll("\\s+", replace);
    }
}

Заключение

Вы узнали, как с помощью метода String.replaceAll заменить все вхождения в строке на нужный символ (или строку).

Как заменить пробелы между словами в строке