如何将String转换为包含每个字符的字符串数组

我在这里遇到一个小问题。我需要将从控制台读取的字符串转换为字符串的每个字符。 例如字符串:“aabbab”我希望将此字符串转换为字符串数组。我该怎么做?

String[] result = input.split("(?!^)"); 

这样做是在所有空字符串上拆分输入字符串,这些字符串前面没有字符串的开头。

 String x = "stackoverflow"; String [] y = x.split(""); 

如果通过String数组表示char数组:

 public class Test { public static void main(String[] args) { String test = "aabbab "; char[] t = test.toCharArray(); for(char c : t) System.out.println(c); System.out.println("The end!"); } } 

如果没有, String.split()函数可以将String转换为String数组

请参阅String.split示例

 /* String to split. */ String str = "one-two-three"; String[] temp; /* delimiter */ String delimiter = "-"; /* given string will be split by the argument delimiter provided. */ temp = str.split(delimiter); /* print substrings */ for(int i =0; i < temp.length ; i++) System.out.println(temp[i]); 

input.split("(?!^)")在他的回答中提出的input.split("(?!^)")基于:

  • 一个' ?! '零宽度负向前瞻(见外观 )
  • 插入符号' ^ '作为锚点来匹配应用正则表达式模式的字符串的开头

任何不是第一个的字符都将被拆分。 空字符串不会被拆分但返回一个空数组。

你的意思是你想做“aabbab”.toCharArray(); ? 这将返回一组字符。 或者你真的希望结果数组包含单个字符串对象吗?

使用toCharArray()方法。 它将字符串拆分为一个字符数组:

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#toCharArray%28%29

 String str = "aabbab"; char[] chs = str.toCharArray(); 

您可以使用String.split(String regex):

 String input = "aabbab"; String[] parts = input.split("(?!^)");