Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java通过空格将字符串转换为字符串数组_Java_Arrays_String - Fatal编程技术网

Java通过空格将字符串转换为字符串数组

Java通过空格将字符串转换为字符串数组,java,arrays,string,Java,Arrays,String,我想将字符串转换为字符串数组。。我做过这样的事情: String name = "name"; String[] letters = name.split("(?<=.)"); System.out.println("letters = " + Arrays.toString(letters)); String name = "John Mark Lester Andrew Todd"; [John, Mark, Lest, Andrew, Todd] 要按如下方式打印阵列: Str

我想将字符串转换为字符串数组。。我做过这样的事情:

String name = "name";
String[] letters = name.split("(?<=.)");
System.out.println("letters = " + Arrays.toString(letters));
String name = "John Mark Lester Andrew Todd";
[John, Mark, Lest, Andrew, Todd]
要按如下方式打印阵列:

String name = "name";
String[] letters = name.split("(?<=.)");
System.out.println("letters = " + Arrays.toString(letters));
String name = "John Mark Lester Andrew Todd";
[John, Mark, Lest, Andrew, Todd]
所以我想在字符串中查找空格,然后将它们放入字符串数组中。你有这样做的想法吗?非常感谢你的帮助。谢谢。

您只需在
空白处输入字符串即可

String[] words = name.split(" ");
您可以使用
split()
创建一个数组

String name = "John Mark Lester Andrew Todd";
String[] names=name.split(" ");

需要根据什么标准或字母来拆分字符串

  string.split(" ");
因此,您可以尝试使用这些更新的代码:

 String name = "John Mark Lester Andrew Todd";
 String[] letters = name.split(" ");
 System.out.println("letters = " + Arrays.toString(letters));
输出将是:

  letters = [John, Mark, Lester, Andrew, Todd]
为了更好地理解java中的字符串拆分,您可以访问此链接。

也许您可以使用

最灵活的方法是在所有空格上拆分:

String names = "John  \t\t  Mark  Lester \n  Andrew Todd \r";

System.out.println(Arrays.toString(names.split("\\s+")));
产出:

[John, Mark, Lester, Andrew, Todd] (输出同上。)

当然,这两种方法也会分割单个空格。

您可以使用:

String values=Arrays.toString(name.split(" "));

or

String values[] = name.split("\\s")

这正好打印出您想要的
System.out.println(Arrays.toString(name.split(“”))
您忘了提到关于
StringTokenizer
-StringTokenizer是一个遗留类,出于兼容性原因保留了它,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人使用String的split方法或java.util.regex包。文档中甚至提到了
split
方法。反正刚才指出这也是可能的。但它已被弃用。您更改了
名称的实际值,并且希望输出的格式为
[John,Mark,Elest,Andrew,Todd]
。但是我同意使用
“\\s+”
而不是
@RafaEl,我所做的只是将它弄乱,以显示正则表达式处理任何空格。那将是一个愚蠢的否决投票的理由。正则表达式也拆分OP的单个空格输入。然后您可能想在答案中解释,为什么要在那里添加
\t\t
\n
\r
。@RafaEl,因为它们是空白字符\t是一个制表符,\n是一个新行,\r是一个回车。@RafaEl我认为正则表达式的作用相当清楚。我想有些人只是有一个空洞的投票理由。感谢您的帮助。我认为最好使用“\\s+”而不是“。我们都去过那里,兄弟:)