我正在尝试将文本 block 拆分为二维数组。我知道如何将一行拆分为一个单词数组,并且我知道如何将多行拆分为一个行数组,但我想同时执行这两个操作。
例如,我想要这个:
Tim is nice
Jim is mean
会变成
((Tim,is,nice),(Jim,is,mean))
到目前为止,我已经能够使用
Str1.Split(new String() {Environment.NewLine}, StringSplitOptions.None)
将示例字符串变为:
(Tim is nice,Jim is mean)
我已经使用 Str1.Split
将 “Tim is Nice”
转换为
(Tim,is,nice)
此外,如果我的代码有错误的语法或类似的情况,请告诉我,我主要是一名 Python 程序员。
最佳答案
这不是一个二维数组:
((Tim,is,nice),(Jim,is,mean))
这是一个锯齿状数组或数组的数组。由于每行/句子的字数可能不相同,因此这是一个更好的选择。对于您的示例,您将有一个 2 的数组来保存每个“行”,然后每个“行”将保存一个包含有多少个单词的数组。
Dim original = "Tim is nice" & Environment.NewLine & "Jim is very mean"
Dim lines = original.Split(New String() {Environment.NewLine.ToString},
StringSplitOptions.RemoveEmptyEntries)
Dim results(lines.Count - 1)() As String
For n As Int32 = 0 To lines.Count - 1
' store array of words to results(n)
results(n) = lines(n).Split(" "c)
Next
' glue a line back together and show it
Console.WriteLine(String.Join(" ", results(1)))
results(0)
将保存 Tim 单词,results(1)
将保存 Jim 单词。结果(写入行):
Jim is very mean
关于arrays - 将文本分割成二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38488549/