Я просто хочу добавить пробел между каждым символом строки. Может ли кто-нибудь помочь мне разобраться, как это сделать?
например. "JAYARAM"
, мне нужно "J A Y A R A M"
.
Я просто хочу добавить пробел между каждым символом строки. Может ли кто-нибудь помочь мне разобраться, как это сделать?
например. "JAYARAM"
, мне нужно "J A Y A R A M"
.
Если вы не хотите перебирать строку и делать ее "вручную", вы можете решить ее следующим образом:
yourString.replace("", " ").trim()
Это заменяет все "пустые подстроки" пробелом, а затем отбрасывает начальные/конечные пробелы.
Альтернативное решение с использованием регулярных выражений:
yourString.replaceAll(".(?=.)", "$0 ")
В основном это говорит: "Заменить все символы (кроме последнего) с помощью самого символа, за которым следует пробел".
Документация...
String.replaceAll
(включая синтаксис $0
)(?=.)
)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());
Итерации над символами 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());
Вставьте свою строку в массив символов, проведите цикл над массивом char и создайте новую строку, выполнив char пробелом.
Это будет работать для вставки любого символа в любую конкретную позицию в вашей строке.
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);
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
. Как я могу заставить их показать их оба?
Это та же проблема, что и объединение массива с запятыми. Эта версия корректно создает пробелы только между символами и позволяет избежать ненужной ветки внутри цикла:
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));
}
}
Я создаю 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;
}
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
+" "
после каждого элемента в массиве (кроме последнего), возможно,Если вы используете строковый конструктор, было бы эффективно инициализировать длину при создании объекта. Длина будет 2 * lengthofString-1.
Или создание массива char и преобразование его обратно в строку приведет к такому же результату.
A и когда вы пишете какой-либо код, убедитесь, что вы также пишете несколько тестовых примеров, это сделает ваше решение завершенным.
Я верю, что он искал код типа возврата оператора MIME, например% 0D% 0A (для возврата или разрыва строки) а также \ u00A0 (для интервала) или альтернативно $ # 032