如何使用现有阵列中的拆分件填充新阵列? (JAVA)

时间:2011-09-27 20:34:26

标签: java arrays split

我正在尝试将数组中的信息段分成一个新的单词,这个单词被分成单个单词。我知道我需要使用String [] split(String regex),但我无法将其输出正确。

我做错了什么?

(假设句子[i]是现有数组)

    String phrase = sentences[i];

    String[] sentencesArray = phrase.split("");

    System.out.println(sentencesArray[i]);

谢谢!

4 个答案:

答案 0 :(得分:2)

可能只是控制台输出出错了。尝试用

替换最后一行
System.out.println(java.util.Arrays.toString(sentencesArray));

phrase.split("")的空字符串参数也是可疑的。尝试传递一个单词边界:

phrase.split("\\b");

答案 1 :(得分:0)

您正在使用空表达式进行拆分,请尝试phrase.split(" ")并从那里开始工作。

答案 2 :(得分:0)

String[] sentencesArray = phrase.split("");

正则表达式基于此phrase需要拆分的地方。如果您希望根据空格字符拆分它,请使用:

String[] sentencesArray = phrase.split(" ");
                                   //   ^ Give this space

答案 3 :(得分:0)

这没什么用处:

String[] sentencesArray = phrase.split("");

你正在拆分空字符串,它会返回字符串中各个字符的数组,从空字符串开始。

很难从你的问题/代码中判断出你想要做什么,但如果你想分开单词,你需要这样的东西:

private static final Pattern SPC = Pattern.compile("\\s+");
.
.
String[] words = SPC.split(phrase);

正则表达式会拆分一个或多个空格,这可能就是你想要的。