【发布时间】:2021-12-04 13:40:54
【问题描述】:
各位大侠,能不能帮我找个正则表达式用split来分隔字符串(txt文件)的属性,字符串如下:
{'title': 'The signal', 'description': 'Una crisis nerviosa. Un ataque de pánico en pleno sermón, 'img': '9b9f6e903588a16bf90eb86ff7b079ba.jpg', 'Format': 'physic book', 'Author': 'Young, wm. paul - jersak, bradley', 'Editorial': 'Diana', 'Year': '2021', 'Idiom': 'Español', 'Isbn': '9789584293817', 'Isbn13': '9789584293817'}{'titulo': 'Quemar el Miedo', 'descripcion': 'Este es el manifiesto escrito por el Colectivo LASTESIS. , 'img': 'f56123687ddc0167a0f4186612293435.jpg', 'Formato': 'Libro físico', 'Autor': '', 'Año': '2021', 'Idioma': 'Español', 'Isbn': '9789584293626', 'Isbn13': '9789584293626'}
我需要获取每个元素的值才能重建对象
public static boolean cargarlibros(){
File f = new File(FILENAME);
FileReader reader;
try {
reader = new FileReader(f);
BufferedReader buffr = new BufferedReader(reader);
String registro;
while((registro = buffr.readLine()) != null){
String[] datos = registro.split("\\{\\}");
System.out.println(Arrays.toString(datos));
}
buffr.close();
reader.close();
} catch (IOException ex) {
return false;
}
return true;
}
【问题讨论】:
-
看起来像
sermón后面缺少引号的 JSON 文本,用 JSON 库解析会更容易 -
为什么不在逗号上分割字符串?
-
这个数据应该是什么?因为虽然它看起来像 JSON,但实际上并非如此:单引号不符合规范。 JSON 中只使用双引号。
-
我会为这种格式寻找一个专门的解析器,而不是尝试使用正则表达式。有什么方法可以使用 JSON 来代替这个变体?这将为您提供更多选择。
-
这是一个具有该结构的纯文本文件,它是包含所有数据的单行,每个数据都用 {book1} {book2} {book3} ...
标签: java regex split bufferedreader