我将以下数据存储为大字符串。

"John Chips Monday \n"

"Tom Pizza Tuesday\n"

"Jerry IceCream Wednesday\n"

"Jennifer Coffee Thursday\n"


现在,我希望拆分该字符串,以便可以从该字符串中获取单个数据,并将每个数据放置在一个数组中。

名称数组的每个元素都存储上面看到的名称,例如names [0] = john,names [1] = Tom等。
食物数组的每个元素都存储上面看到的食物,例如food [0] =薯条,food [1] =披萨。

我尝试这样做

    John + "\t" + Chips + "-" + Monday + "\n"

    Tom + "\t" + Pizza + "-" + Tuesday+ "\n"

    Jerry + "\t" + IceCream + "-" + Wednesday+ "\n"

    Jennifer + "\t" + Coffee + "-" + Thursday+ "\n"


    String nameCol[] = data.split("\\t");

    String foodCol[] = data.split("-");


我得到的输出几乎在那儿但是出错了,因为它包含了我不需要的数据,例如第一个数组的输出是

nameCol[0] = John

nameCol[1] = Chips -

nameCol[2] = Monday


元素0包含john,但其他元素包含我不需要的部分。

我尝试了一个限制,但这没有用

String nameCol[] = data.split("\\t",1);

String foodCol[] = data.split("-",1);

最佳答案

这将起作用:

    String yourLine = "John Chips Monday\n"; // Read your line in here
    String[] resultCol = yourLine.split(" ");
    resultCol[2] = resultCol[2].split("\\n")[0];
    System.out.println( resultCol[2] );


字符串的第一个拆分将为您提供“ John”,“ Chips”和“ Monday \ n”。第二个拆分从数组中获取“ Monday \ n”并将其拆分。将“星期一”返回到数组resultCol[2]的最终索引。从这里,您可以简单地将数组中的每个元素分配给所需的数组。

10-06 13:14
查看更多