如何在java中以这种格式解析my log.txt
我正在尝试解析这个特定的日志条目 “[Zone]ZoneChangeList.ProcessChanges()-处理索引=9 change=powerTask=[power=[type=TAG\u变更实体=[id=78 cardId=FP1\u 007t name=Nerubian]tag=IGNORE\u DAMAGE\u OFF value=1]complete=False] 实体=[name=Nerubian id=78区域=墓地区域pos=1卡迪=FP1\U 007t player=2]srcZoneTag=INVALID srcPos=dstZoneTag=INVALID dstPos=“ 我在Java中使用扫描定界符,但问题是更改字段 它具有多个括在括号中的值 我还希望将解析后的记录放在具有其值的bean上 到目前为止,我的代码如下:如何在java中以这种格式解析my log.txt,java,Java,我正在尝试解析这个特定的日志条目 “[Zone]ZoneChangeList.ProcessChanges()-处理索引=9 change=powerTask=[power=[type=TAG\u变更实体=[id=78 cardId=FP1\u 007t name=Nerubian]tag=IGNORE\u DAMAGE\u OFF value=1]complete=False] 实体=[name=Nerubian id=78区域=墓地区域pos=1卡迪=FP1\U 007t player=2]
public class HearthstoneParser {
public void zoneParser(String line) {
Scanner scanner = new Scanner(line);
scanner.useDelimiter(" ");
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
}
public static void main(String args[]) {
String zoneString = "[Zone] ZoneChangeList.ProcessChanges() - processing index=9 change=powerTask=[power=[type=TAG_CHANGE entity=[id=78 cardId=FP1_007t name=Nerubian] tag=IGNORE_DAMAGE_OFF value=1] complete=False] entity=[name=Nerubian id=78 zone=GRAVEYARD zonePos=1 cardId=FP1_007t player=2] srcZoneTag=INVALID srcPos= dstZoneTag=INVALID dstPos=";
HearthstoneParser parser = new HearthstoneParser();
parser.zoneParser(zoneString);
}
}
我想让他们有条理,他们是一组,分别用括号括起来
样本输出为:
Zone
event = ZoneChangeList.ProcessChanges()
index = 9
change
powerTask
power
type = TAG_CHANGE
entity
id = 78
cardID=Fp1_007t
name Nerubian
tag=IGNORE_DAMAGE_OFF
value=1
complete=False
entity
name=nerubian
id=78
zone=GRAVEYARD
zonePos=1
cardId=FP1_007t
player=2
srcZoneTag=INVALID
srcPos=
dstZoneTag=INVALID
dstPos=
您可以添加所需的输出吗?只需使用可以配置分隔符和括号的json解析器就可以了。我想使用类似以下内容来解析它:Zone event=ZoneChangeList.ProcessChanges()索引=9更改电源任务电源类型=标记\更改实体id=78 cardID=Fp1 \ U 007t名称Nerubian标记=忽略\损坏\关闭值=1完成=假实体名称=Nerubian id=78区域=墓地区域PS=1 cardID=Fp1 \ U 007tplayer=2 srcZoneTag=无效的srcPos=dstZoneTag=无效的dstPos=