【发布时间】:2013-06-05 03:14:57
【问题描述】:
如何将字符串转换为字符串数组,假设有一个字符串 str="name" 并且我想转换为包含字符串每个元素的 String[],我可以转换为字符 [] 但我想要它在字符串 []
String[] tokens=str.toLowercase().split("?");
将其转换为字符串数组的正则表达式应该是什么,以便 tokens[0]="n",tokens[1]="a"
【问题讨论】:
如何将字符串转换为字符串数组,假设有一个字符串 str="name" 并且我想转换为包含字符串每个元素的 String[],我可以转换为字符 [] 但我想要它在字符串 []
String[] tokens=str.toLowercase().split("?");
将其转换为字符串数组的正则表达式应该是什么,以便 tokens[0]="n",tokens[1]="a"
【问题讨论】:
String 内置了与您想要执行的操作非常相似的内容。它叫toCharArray()
但是,这不会做你想做的同样的事情,因为它会返回一个char[]。要将其转换为String[],您可以使用:
char[] chars = "name".toCharArray();
String[] strings = new String[chars.length];
for (int i = 0; i < chars.length; i++) {
strings[i] = String.valueOf(chars[i]);
}
【讨论】:
使用直接法
char[] charArray = str.toCharArray();
并使用每个char
【讨论】:
如果你真的想用正则表达式来做,你可以使用非捕获组:
String name = "name";
String[] letters = name.split("(?<=.)");
System.out.println("letters = " + Arrays.toString(letters));
打印letters = [n, a, m, e]
【讨论】:
如果您想更好地理解并自己手动完成(虽然不是最佳选择):
for (int i = 0; i < str.length())
newChars[i] = str.charAt(i);
newChars 的类型为 char[]
【讨论】:
将字符串转换为char数组,遍历数组并将每个字符转换为字符串并存储在字符串数组中。
【讨论】: