как найти верхние альфа-символы с пробелом между ними, используя python

У меня есть текстовый файл, из которого я хочу извлечь заголовки в верхнем регистре и с пробелами в них. Итак, сначала я сохраняю данные в списке l1, а затем пробовал следующий код:

l1=[]
headings=[""]
with open(TextFile,'rt',encoding="utf8") as IpFile:
    for j in IpFile:
        l1.append(str(j).strip())

for line in l1:
    if(line.isupper() and line.isalpha() or line.isspace()):
        headings.append(line)

но он возвращает только заголовок из одного слова, так как isalpha не допускает пробелов. Итак, как я могу извлечь заголовок с более чем одним словом с пробелом между ними. Я пытался выяснить, но в python нет метода, который возвращает только альфа-символы с пробелами. так как их извлечь?

А также может ли кто-нибудь сказать мне, что вместо добавления заголовков в новый список я могу отделить их от исходного списка. например, если у меня есть текстовая строка в списке и она содержит заголовок, то она разбивает текст и заголовок на две разные строки в этом списке. Это возможно сделать так?

Обновленный вопрос: если мои слова в верхнем регистре также содержат какой-либо символ, например, ABC/DEF как извлечь это слово?

Я не могу найти никакого способа сделать это. Итак, я попробовал это, используя reg ex.:

case=re.findall(r"\A[A-Z-\/.]+[A-Z]+|\A[A-Z]+\s[A-Z]+\Z|\A[A-Z]{5,}", reg)

но он также возвращает символы слишком маленькой длины. Как этого избежать?


person ras ku    schedule 10.12.2020    source источник
comment
если я это сделаю, он начнет извлекать верхние значения с цифрами например,- ABC123, и мне нужны только верхние значения буквенных пробелов.   -  person ras ku    schedule 10.12.2020


Ответы (2)


Попробуйте использовать метод replace раньше:

line = "T E S T"

line = line.replace(" ", "")

print(line)

# prints
# TEST

Если вам нужно что-то более сложное (больше контроля, более сложные строковые структуры), я бы посоветовал поискать re модуль.

person Roman Zhuravlev    schedule 10.12.2020
comment
Это заголовок, я не могу удалить пробел между ними. Некоторые заголовки длинные, это создаст беспорядок - person ras ku; 10.12.2020
comment
Да, но вы можете убрать пробелы для чека и append самой строки - person Roman Zhuravlev; 10.12.2020

person    schedule
comment
Спасибо за помощь. Можете ли вы также сказать мне, что вместо добавления заголовков в новый список я могу отделить их от исходного списка. например, если у меня есть текстовая строка в списке и она содержит заголовок, то она разбивает текст и заголовок на две разные строки в этом списке - person ras ku; 10.12.2020