gpt4 book ai didi

python - 在python中使用正则表达式返回特定单词之间的大写单词

转载 作者:太空宇宙 更新时间:2023-11-04 08:48:40 26 4
gpt4 key购买 nike

我刚开始使用正则表达式。

我有一个字符串形式

                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文档的形式。

我需要捕获第 1 部分、第 2 部分和第 3 部分之间的所有标题,并将它们存储在不同的列表中。到目前为止我有

matchedtext = re.findall('(?<=PART) (.*?) (?=PART)', text, re.DOTALL)

如果我理解正确,这些环顾四周应该使用 PART 作为一种基点,并抓取其间的文本。但是,当我运行代码时,matchedtext 不会填充任何内容。

我的问题的第二部分是一旦我在 PART 的不同出现之间有文本,我如何才能将大写标题保存在列表中,每个标题都有一个字符串。 word 文档中的一些字符串包含小写单词,但我只想要全部大写的单词。

总结一下,我如何获取字符串中特定单词之间的文本,一旦我拥有它们,我如何将这些单词作为单独的字符串保存在列表中。

感谢您的帮助! :D

最佳答案

您甚至不需要使用正则表达式,只需对字符串使用 split 函数即可。如果 s 是您的字符串的名称,它将是:

s.split('PART')

这将包括第一部分之前的文本,所以不要使用列表的第一个元素:

texts_between_parts = s.split('PART')[1:]

稍后您可以使用字符串方法 isupper 检查单词是否全部大写。

关于python - 在python中使用正则表达式返回特定单词之间的大写单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37548652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com