我有一个文本文件,内容如下:
第1项,描述#brand1,brand2
第2项,描述#brand3
我有一个品牌数组列表和另一个项目列表。
我的代码读取并分配所有内容,直到它在项目描述后到达“#”...
while(input.hasNextLine())
{
String line = input.nextLine();
String[] token = line.split("[,#]+");
item = token[0];
description = token[1];
brand = token[2];
}
我怎样才能让它正确阅读“#”之后的内容? 我应该提到一件商品可以属于两个或更多品牌
答案 0 :(得分:1)
首先按“#”拆分处理结果,然后处理“,”。
答案 1 :(得分:0)
我相信你要找的是正则表达式(正则表达式)
它允许您设置一个模式,定义数据的结构如下:
"(?<item>.+),\s(?<description>.+)\s\#\s(?<brands>.+)"
(免责声明:只是一个手写的快速示例,可能无法正常工作) 然后使用匹配器将模式应用于字符串。
我强烈建议您阅读正则表达式,或者参考一下教程。它非常实用。 退房:http://docs.oracle.com/javase/tutorial/essential/regex/intro.html