【发布时间】:2023-03-30 05:14:02
【问题描述】:
我不熟悉使用正则表达式。
我有一个格式为
的字符串 Waco, Texas
Unit Dose 13 and
SECTION 011100 SUMMARY OF WORK
INDEX PAGE
PART 1. - GENERAL 1
1.1. RELATED DOCUMENTS 1
1.2. PROJECT DESCRIPTION 1
1.3. OWNER 1
1.4. ARCHITECT/ENGINEER 2
1.5. PURCHASE CONTRACTS 2
1.6. OWNER-FURNISHED ITEMS 2
1.7. CONTRACTOR-FURNISHED ITEMS 3
1.8. CONTRACTOR USE OF PREMISES 3
1.9. OWNER OCCUPANCY 3
1.10. WORK RESTRICTIONS 4
PART 2. - PRODUCTS - NOT APPLICABLE 4
PART 3. - EXECUTION - NOT APPLICABLE 4
我为额外的空白道歉,但这是我解析以获得字符串的 word 文档的形式。
我需要捕获 PART 1 PART 2 和 PART 3 之间的所有标题,并将它们存储在不同的列表中。到目前为止我有
matchedtext = re.findall('(?<=PART) (.*?) (?=PART)', text, re.DOTALL)
如果我理解正确,这些环顾四周应该使用 PART 作为一种基点,并抓住中间的文本。但是,当我运行代码时,matchedtext 不会填充任何内容。
我的问题的第二部分是,一旦我在 PART 的不同出现之间有文本,我如何才能将大写标题保存在列表中,每个标题都有一个字符串。我的 word 文档中的一些字符串包含小写单词,但我只想要全部大写的单词。
所以总结一下如何在字符串中的特定单词之间获取文本,一旦有了它们,我如何将单词保存为列表中的单个字符串。
感谢您的帮助! :D
【问题讨论】: