在Java中字符串的字符之间添加空格?

我只想在字符串的每个字符之间添加一个空格。 任何人都可以帮我弄清楚如何做到这一点?

例如,给定"JAYARAM" ,我需要"JAYARAM"作为结果。

除非你想循环遍历字符串并“手动”执行,否则你可以像这样解决它:

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

这将用空格替换所有“空子串”,然后修剪前导/尾随空格。

ideone.com演示


使用正则表达式的替代解决方案

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

基本上它说“替换所有字符(除了最后一个)与字符本身后跟一个空格”

ideone.com演示

……的文件

  • 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()); 

迭代字符串的字符,并且在存储新的数组/字符串时,您可以在追加每个字符之前附加一个空格。

像这样的东西:

 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()); 

将你的String炸成chars数组,遍历char数组并通过一个空格inheritancechar来创建一个新的字符串。

这适用于在String中的任何特定位置插入任何字符。

 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 

现在我需要输入两个这样的词: - 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)); } } 
 public String insertSpace(myString,indexno){ myString=myString.substring(0, indexno)+" "+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

  • 从您的字符串创建一个char数组
  • 遍历数组,在数组中的每个项后添加一个空格+" " (可能除了最后一个)
  • 咚……完成!

如果使用stringbuilder,则在创建对象时初始化长度会很有效。 长度将是2 * lengthofString-1。

或者创建一个char数组并将其转换回字符串将产生相同的结果。

Aand当你编写一些代码时,请确保你也写了一些测试用例,这将使你的解决方案完整。

我相信他正在寻找的是mime代码载体返回类型代码,例如%0D%0A(用于返回或换行符)和\ u00A0(用于间距)或者另外$#032