Подтвердить что ты не робот

Добавить пробелы между символами строки в Java?

Я просто хочу добавить пробел между каждым символом строки. Может ли кто-нибудь помочь мне разобраться, как это сделать?

например. "JAYARAM", мне нужно "J A Y A R A M".

4b9b3361

Ответ 1

Если вы не хотите перебирать строку и делать ее "вручную", вы можете решить ее следующим образом:

yourString.replace("", " ").trim()

Это заменяет все "пустые подстроки" пробелом, а затем отбрасывает начальные/конечные пробелы.

демонстрация ideone.com


Альтернативное решение с использованием регулярных выражений:

yourString.replaceAll(".(?=.)", "$0 ")

В основном это говорит: "Заменить все символы (кроме последнего) с помощью самого символа, за которым следует пробел".

демонстрация ideone.com

Документация...

Ответ 2

StringBuilder result = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
   if (i > 0) {
      result.append(" ");
    }

   result.append(input.charAt(i));
}

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

Ответ 3

Итерации над символами String и при сохранении в новом массиве/строке вы можете добавить одно пространство перед добавлением каждого символа.

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

StringBuilder result = new StringBuilder();

for(int i = 0 ; i < str.length(); i++)
{
   result = result.append(str.charAt(i));
   if(i == str.length()-1)
      break;
   result = result.append(' ');
}

return (result.toString());

Ответ 4

Вставьте свою строку в массив символов, проведите цикл над массивом char и создайте новую строку, выполнив char пробелом.

Ответ 5

Это будет работать для вставки любого символа в любую конкретную позицию в вашей строке.

public static String insertCharacterForEveryNDistance(int distance, String original, char c){
    StringBuilder sb = new StringBuilder();
    char[] charArrayOfOriginal = original.toCharArray();
    for(int ch = 0 ; ch < charArrayOfOriginal.length ; ch++){
        if(ch % distance == 0)
            sb.append(c).append(charArrayOfOriginal[ch]);
        else
            sb.append(charArrayOfOriginal[ch]);
    }
    return sb.toString();
}

Затем назовите его следующим образом

String result = InsertSpaces.insertCharacterForEveryNDistance(1, "5434567845678965", ' ');
        System.out.println(result);

Ответ 6

package arrays;
import java.util.Scanner;

public class Arrays {
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        int j;
        System.out.println("How much values u want to enter : -");
        j = input.nextInt();

        String array[]= new String[j];

        for(int i=0;i<j;i++)
        {
            System.out.println("Enter The index "+ (i+1) +" Value");
            array[i] = input.next();
        }
        input.close();
        System.out.println("Thanks Thats It \n");

        System.out.println("The values u Entered \n");
        for (int k=0;k<j;k++)
        {
            System.out.println("Enterd values are : - "+ array[k]);
        }
    }
}

Теперь мне нужно ввести два слова, как этот : - Sibi haseb, но он показывает только sibi. Как я могу заставить их показать их оба?

Ответ 7

Это та же проблема, что и объединение массива с запятыми. Эта версия корректно создает пробелы только между символами и позволяет избежать ненужной ветки внутри цикла:

String input = "Hello";
StringBuilder result = new StringBuilder();
if (input.length() > 0) {
    result.append(input.charAt(0));
    for (int i = 1; i < input.length(); i++) {
        result.append(" ");
        result.append(input.charAt(i));
    }
}

Ответ 8

Я создаю Java-метод для этой цели с динамическим характером

public String insertSpace(String myString,int indexno,char myChar){
    myString=myString.substring(0, indexno)+ myChar+myString.substring(indexno);
    System.out.println(myString);
    return myString;
}

Ответ 9

public static void main(String[] args) {
    String name = "Harendra";
    System.out.println(String.valueOf(name).replaceAll(".(?!$)", "$0  "));
    System.out.println(String.valueOf(name).replaceAll(".", "$0  "));
}

Это дает следующий результат использования любого из вышеперечисленного:

H arendra

H arendra

Ответ 10

  • Создайте массив char из строки
  • Прокрутите массив, добавив пробел +" " после каждого элемента в массиве (кроме последнего), возможно,
  • БУМ... сделал!!

Ответ 11

Если вы используете строковый конструктор, было бы эффективно инициализировать длину при создании объекта. Длина будет 2 * lengthofString-1.

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

A и когда вы пишете какой-либо код, убедитесь, что вы также пишете несколько тестовых примеров, это сделает ваше решение завершенным.

Ответ 12

Я верю, что он искал код типа возврата оператора MIME, например% 0D% 0A (для возврата или разрыва строки) а также \ u00A0 (для интервала) или альтернативно $ # 032