我这里有一个小问题。我需要将从控制台读取的字符串转换为该字符串的每个字符。例如字符串:“aabbab”,我想把它转换成字符串数组。我该怎么做?
String[] result = input.split("(?!^)");
这个代码会将输入的字符串按照在字符串开头之前不是空字符串的所有空字符串进行分割。
String x = "stackoverflow";
String [] y = x.split("");
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.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在他的回答中提出的input.split("(?!^)")
是基于以下内容:
?!
' 零宽度负向先行断言(请参见Lookaround)^
' 作为锚点匹配正则表达式模式所应用的字符串的开头任何不是第一个的字符都会被分割。空字符串将不会被分割,但会返回一个空数组。
char[]
和String[]
两种结果。 - VonCString input = "aabbab";
String[] parts = input.split("(?!^)");
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#toCharArray%28%29
String str = "aabbab";
char[] chs = str.toCharArray();