Как вставить пространство после каждого символа существующей строки в Java?

Мне нужно вставить пробел после каждого символа строки.

то есть. String name = "Joe";

должен стать: "J o e"

Ответы

Ответ 1

Более короткий будет использовать регулярное выражение:

System.out.println("Joe".replaceAll(".(?!$)", "$0 "));

Ответ 2

Что-то вроде:

String joe = "Joe";
StringBuilder sb = new StringBuilder();

for (char c: joe.toCharArray()) {
   sb.append(c).append(" ");
}

System.out.println(sb.toString().trim());

Ответ 3

Это будет содержать все буквы в каждом слове, а не между словами

"Joe Black".replaceAll("\\B", " ") -> "J o e B l a c k"

Это поместит пробел для каждого символа (включая исходные пространства)

"Joe Black".replaceAll("\\B|\\b", " ") -> " J o e  B l a c k "

Ответ 4

char[] stringArray = strOrig.toCharArray(); 
StringBuilder sb = new StringBuilder();

for(int index=0; index < stringArray.length; index++) {
   sb.append(stringArray[index]);
   sb.append(" ");
}

Ответ 5

Вы можете преобразовать Joe в char [] с помощью String toCharArray(), затем перейдите к char [], чтобы захватить char в другой char [], и когда вы добавите char ко второй char [], вы добавляете символ пробела "" ". Установите if-else в цикле для обнаружения последнего символа, чтобы вы случайно не добавили пробельный символ за последним символом. Используйте String для valueOf() в результате char [], чтобы превратить его в объект String.

Ответ 6

Удаление последнего пространства:

String joe = "Joe"; 
StringBuilder sb = new StringBuilder(); 
String sep = "";
for (char c: joe.toCharArray()) { 
    sb.append(sep).append(c);
    sep = " ";
} 

System.out.println(sb.toString());