将短语拆分为多维字符数组

Split a phrase into multidimesional array of characters

我有一个包含用户输入的短语的字符串:

import java.util.Scanner;
public class eldertonguetranslator
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        String inputtext;
        System.out.println("Enter you text: ");
        inputtext = sc.nextLine();
    }
}

现在该字符串的示例值为:

lorem ipsum

我将如何将该字符串的每个单词放入一个单独的字符数组中?

那就是这样的:

char[][] splittext = { {l, o , r, e, m}, {i, p, s, u, m} };

请记住,短语中的单词数以及该单词中的字母数每次都会改变。

非常感谢大家的帮助!

试试这个:

char[][] wordsAsChars = Arrays.stream(str.split(" "))
  .map(String::toCharArray)
  .toArray(char[][]::new);

这个 streams 通过在 space 上拆分输入找到的单词,将每个单词转换为其 char[] 等价物,然后将 char[] 收集到 char[][].

String#split() 接受 regex(在本例中只是一个普通的 space 字符)和 returns String[]

Arrays.stream() 流式传输数组的元素。


过程的逆过程,即取 char[][] 并产生一个句子,是:

String sentence = Arrays.stream(wordsAsChars)
  .map(String::new)
  .collect(Collectors.joining(" "));

.map(String::new) 调用 String​(char[] value) 构造函数。

joining(" ") 连接 String 流的所有元素,用 space

分隔它们