您好,我正在为大学进行 Java 项目,我应该在其中分析扑克牌。我在 txt 日志文件中发现了一些扑克牌。
它们通常看起来像这样:
PokerStars Zoom Hand #86981279921: Hold'em No Limit ($0.10/$0.25 USD) - 2012/09/30 23:49:51 ET
Table 'Whirlpool Zoom 40-100 bb' 9-max Seat #1 is the button
Seat 1: lgwong ($30.99 in chips)
Seat 2: hastyboots ($28.61 in chips)
Seat 3: seula i ($25.31 in chips)
Seat 4: fr_kevin01 ($31.81 in chips)
Seat 5: limey05 ($27.45 in chips)
Seat 6: sanlu ($24.65 in chips)
Seat 7: Masterfrank ($25.35 in chips)
Seat 8: Refu$e2Lose ($33.23 in chips)
Seat 9: 1pepepe0114 ($37.62 in chips)
hastyboots: posts small blind $0.10
seula i: posts big blind $0.25
*** HOLE CARDS ***
fr_kevin01: folds
limey05: folds
sanlu: folds
Masterfrank: folds
Refu$e2Lose: folds
1pepepe0114: folds
lgwong: folds
hastyboots: folds
Uncalled bet ($0.15) returned to seula i
seula i collected $0.20 from pot
seula i: doesn't show hand
*** SUMMARY ***
Total pot $0.20 | Rake $0
Seat 1: lgwong (button) folded before Flop (didn't bet)
Seat 2: hastyboots (small blind) folded before Flop
Seat 3: seula i (big blind) collected ($0.20)
Seat 4: fr_kevin01 folded before Flop (didn't bet)
Seat 5: limey05 folded before Flop (didn't bet)
Seat 6: sanlu folded before Flop (didn't bet)
Seat 7: Masterfrank folded before Flop (didn't bet)
Seat 8: Refu$e2Lose folded before Flop (didn't bet)
Seat 9: 1pepepe0114 folded before Flop (didn't bet)
我的问题是我不确定如何继续解析日志文件:我所拥有的唯一知识是“手动”逐行扫描特定字符或符号,但恐怕它需要详尽的错误处理。
所以我在徘徊是否有任何其他技术或更好的方法来解析这些扑克牌?
非常感谢您的帮助
编辑:对不起“数据挖掘”,因为它不是问题的一部分。
EDIT2:我也在寻找一些与 C++ 相同的 Java 方法
例如:在 C++ 中读取 5 个字符/直到 de # 符号将是:myfile.getline(store_in_this_var,5,'#'),你能建议我一些 Java 方法来做同样的事情吗?