我将以下数据存储为大字符串。
"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]
的最终索引。从这里,您可以简单地将数组中的每个元素分配给所需的数组。