我试图将一串单词转换为包含空格的数组

时间:2014-05-22 15:52:11

标签: java arrays string split spaces

我希望用户输入一个演员名字:tom hanks

我正在尝试转换字符串" tom hanks"成阵列。

但是我想把空间留在" m"和" t"。所以数组会显示:

{" t"," o"," m"," "," h"," a"," n"," k"," s"}

然后将用户输入与程序中的答案进行比较。一封信。

考虑到用户将输入一个空格,我将把字符串名称转换为数组,并将它们比作like,with space和all。

这是我到目前为止的代码

    String x;

    System.out.println("Please input a name");
    x = input.next(); 

    //the user enters in "tom hanks"

    String[] a = x.split("\\b");

这只会创建数组{" t"," o"," m"}

非常感谢任何帮助,谢谢你。

2 个答案:

答案 0 :(得分:3)

您应该将字符串转换为字符数组,而不是

char[] charArray = str.toCharArray();

您可以像普通数组一样访问它。

答案 1 :(得分:1)

使用空字符串作为正则表达式来分割字符串:

String str = "alan smith";
String[] letters = str.split("");

例如:

String str = "alan smith";
String[] letters = str.split("");
for (int i = 0; i < letters.length; i++)
    System.out.print(letters[i] + " ");

输出:

a l a n   s m i t h 

修改

这个方法似乎在开头生成一个空令牌。