将字符串的单词转换为字符串数组

时间:2016-02-11 12:50:37

标签: java arrays string

想象一下,我有以下字符串:

select MIN(id) as id, version, GREATEST(COUNT(version), 1) as total
. . .

我从文件中获取此字符串。

我怎样才能把它变成这样的刺痛数组:

hoi
hoe 
gaat 
het

实现这一目标的最简单方法是什么?

6 个答案:

答案 0 :(得分:6)

您可以使用if newVector(1)=='R' %or use strcmp() % perform concatenation else % do nothing and jump to the next for-loop iteration (i.e. next variable) end

split()

答案 1 :(得分:6)

这适用于任何系统。

String[] array = str.split(System.getProperty("line.separator"));

答案 2 :(得分:5)

从Java 8开始,有一些内置方法:

Files.readAllLines(Path)

它给出List<String>。如果确实需要,您可以将其转换为数组。

Files.lines(Path)

它给出Stream<String>。然后,您可以处理每个String,而无需将整个文件加载到内存中。

答案 3 :(得分:3)

另一种方法。根据{{​​1}}之间的任何内容进行拆分。跨平台工作:

[a-zA-Z]

O / P:

public static void main(String[] args) throws IOException, InterruptedException {
    String s = "asda\r\nasdsa";
    System.out.println(Arrays.toString(s.split("[^a-zA-Z]+")));
}

答案 4 :(得分:0)

    try {
        File file = new File("file.txt");
        Path path = file.toPath();
        List<String> strings = Files.readAllLines(path); // this is available on **java 8**
     // List<String> strings = FileUtils.readLines(file); // this can be used with **commons-io-2.4 library** 
        for (String s : strings) {
            System.out.println(s);
        }
        String[] string_array = new String[strings.size()];
        for (int i = 0; i < strings.size(); i++) {
            string_array[i] = strings.get(i);
        }
        System.out.println(Arrays.deepToString(string_array));

    } catch (Exception e) {
        e.printStackTrace();
    }

答案 5 :(得分:0)

如果输入在一个完整的字符串中,您可以这样做以将字符串拆分为字符串数组:

String[] hallo = input.split("[ ]+");