我在这里遇到一个小问题。我需要将从控制台读取的字符串转换为字符串的每个字符。例如字符串:“aabbab”我希望这个字符串成为字符串数组。我会怎么做?
答案 0 :(得分:21)
String[] result = input.split("(?!^)");
这样做是将所有空字符串上的输入字符串拆分为不在字符串开头的前面。
答案 1 :(得分:17)
String x = "stackoverflow";
String [] y = x.split("");
答案 2 :(得分:5)
如果使用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]);
Joachim中his answer提出的input.split("(?!^)")
基于:
?!
'零宽度负向前瞻(见Lookaround)^
”为Anchor,以匹配应用正则表达式模式的字符串的开头任何不是第一个字符的字符都将被拆分。空字符串不会被拆分,而是返回一个空数组。
答案 3 :(得分:2)
你的意思是你想做“aabbab”.toCharArray(); ?这将返回一组字符。或者你真的希望结果数组包含单个字符串对象吗?
答案 4 :(得分:1)
使用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();
答案 5 :(得分:0)
您可以使用String.split(String regex):
String input = "aabbab";
String[] parts = input.split("(?!^)");