onSaveInstance будет вызываться, если пользователь поворачивает экран, чтобы он мог загружать ресурсы, связанные с новой ориентацией.
Возможно, этот пользователь повернул экран, а затем нажал кнопку «Назад» (потому что это также возможно, что этот пользователь вошел в свой телефон при использовании вашего приложения)
Вы можете анализировать таблицу с помощью регулярных выражений. Из этого документа я сделал следующие наблюдения:
--------------------------------------------------------------------------------
|
. (1)
). Часть 1 вы можете легко реализовать, часть 2 и 3 могут быть частично решены с помощью регулярных выражений.
Здесь я приведу самую сложную часть решения, вы можете легко реализовать все остальное и, возможно, поместить в фрейм данных pandas.
import re
# separate left hand and right hand
strline = "course name |MATH 123 divide by 0 (1)"
left, right = re.split('\|',strline) # split around the pipe
# find the parenthesis marker on the right
m = re.search(r'\(\d+\)',right)
has_module_name = m is not None
if has_module_name:
# catch the module name, description and exclude number in parenthesis
m_mod = re.match(r'([a-zA-Z0-9]+ [a-zA-Z0-9]+)([^\(\)]+).*',right)
if m_mod is not None:
mod_code = m_mod.group(1)
mod_desc = m_mod.group(2)
print("module name: {}".format(mod_code))
print("module first line desc: {}".format(mod_desc))
# todo: make loops to catch other lines of desc, remove duplicate whitespaces
Возвращает:
module name: MATH 123
module first line desc: divide by 0