【发布时间】:2014-02-26 19:44:11
【问题描述】:
我有一个国际象棋游戏的 PGN(便携式游戏符号)。我想要的是只得到一个动作列表。例如:
PGN:
1. e4 e5 2. f4 exf4 3. Nf3 d5 4. exd5 Nf6 5. Nc3 Nxd5 6. Nxd5 Qxd5 7. d4 Bg4 8.
Bxf4 Nc6 9. Be2 O-O-O 10. c3 Qe4 11. Qd2 Rxd4 12. Nxd4 Nxd4 13. cxd4 Bb4 14.
Kf2 Bxd2 15. Bxg4+ f5 16. Bxd2 fxg4 17. Rhe1 Qxd4+ 18. Be3 Qxb2+ 19. Kf1 Re8
0-1
输出:
['e4','e5','f4','exf4','Nf3','d5', .... , 'Re8']
我的想法是获取字符串并在空格处拆分它,然后以这种方式排列一个新数组,但我想知道是否有更好的方法来做到这一点。没有我只对一般语言感兴趣的特定语言。可能是python,javascript,并不重要。
另外,有时 PGN 在字符串中间带有符号或括号中表示的“变体”,我想忽略这些。有任何想法吗? 谢谢
【问题讨论】:
-
您需要一个 PGN 解析器。存在许多可以用作学习的资源。甚至可能有一个规范。请使用这些资源来学习。