java - 使用 String.split() 循环遍历二维数组
问题描述
我有一个简单的问题,但我是来自 PHP 的 Java 新手。我需要将分隔的文本文件拆分为一个数组。我把它分解成一系列行,每一行看起来像这样:
{
{Bob | Smithers | Likes Cats | Doesnt Like Dogs},
{Jane | Haversham | Likes Bats | Doesnt Like People}
}
我需要把它变成一个二维数组。
在 PHP 中,这是小菜一碟。您只需使用 explode(); 我尝试在一维数组上使用 String.split,它也没有那么糟糕。问题是,我还没有学会如何对 Java 友好。所以我不知道如何循环遍历数组并将其变成 2d。这就是我所拥有的:
for (i = 0; i < array.length; i++) {
String[i][] 2dArray = array[i].split("|", 4);
}
PHP将是
for ($i = 0; $i < count($array); $i++) {
$array[i][] = explode(",", $array[i]);
}
解决方案
您可以像这样循环数组:
// Initialize array
String[] array = {
"Bob | Smithers | Likes Cats | Doesnt Like Dogs",
"Jane | Haversham | Likes Bats | Doesnt Like People"
};
// Convert 1d to 2d array
String[][] array2d = new String[2][4];
for(int i=0;i<array.length;i++) {
String[] temp = array[i].split(" \\| ");
for(int j=0;j<temp.length;j++) {
array2d[i][j] = temp[j];
}
}
// Print the array
for(int i=0;i<array2d.length;i++) {
System.out.println(Arrays.toString(array2d[i]));
}
笔记:我曾经\\|
分割管道字符。
推荐阅读
- php - 转到 VSCode 中 PHP 扩展的定义
- javascript - 如何查看太大而无法在 CLI 中使用的大型对象(例如,作为响应对象)
- php - PHP laravel 列搜索无法有效地使用 ->editcolumn getdatatable
- python - Xpath 不返回 TEXT 表单
Scrapy Shell 中的标签
- c++ - stack.size() 与 stack.empty()
- java - 在java中将XML文件保存到TXT
- python-3.x - 将循环结果添加为数据框中的行
- python - 如何在 Mac 上打开 ipynb 文件?
- karate - 任何示例都有一个 java 类实例调用一次并在具有不同特征文件的空手道的所有场景中使用
- ml.net - ML.NET 如何检测 PredictionEnginePool 中缺少模型