Для того чтобы распарсить нужно использовать регулярные выражения. А для того чтобы расспознать комбинацию нужно знать алгоритм формирования комбинации, чтобы можно было проверить найденную строку на предмет правильной комбинации.
Парсинг с помощью регулярного выражения очень простой, например как это можно решить
some_coded_string = """
-----ABCDF-----
ADBZE----------
----------SDFXW
S---W-B-D---D--
--X---X-X-X---X
-----X---X-XXX-
-XXX-X---X-----
---XX--X--XX---
XX-----X-----XX
"""
import re
regular_expression = r'\w+'
result = re.findall(regular_expression, some_coded_string)
print result
print "".join(result)
В результате получаем или список для последующей обработки или уже соединенную строку, чтобы в ней выявить (как-то) нужную комбинацию.
['ABCDF', 'ADBZE', 'SDFXW', 'S', 'W', 'B', 'D', 'D', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'XXX', 'XXX', 'X', 'X', 'XX', 'X', 'XX', 'XX', 'X', 'XX']
ABCDFADBZESDFXWSWBDDXXXXXXXXXXXXXXXXXXXXXXXXX
О регулярных выражениях можно почитать тут 7.2. re — Regular expression operations — Python 2.7.18 documentation или посмотреть онлайн урок c домашними заданиями тут Поиск 🔍 организации или лица - Предоставление сведений из ЕГРЮЛ/ЕГРИП в электронном виде