gpt4 book ai didi

python - 在文件中查找字符串并复制直到Python中出现特定字符

转载 作者:行者123 更新时间:2023-12-01 01:38:01 25 4
gpt4 key购买 nike

我有多个 .txt 文件,其中的信息在转换后如下所示:

    >  **   ** **|** **     STYLE #        ** **|** **   DESCR  :  Potrero415;Tbl-
Rnd ** **\--------** ** ** **\--** **ZONE 1** **\--**
** ** **\--** **ZONE 2** **\--** ** ** **\----** ** -T1-
-T2- -T3-


**

我想抓取从 DESCR: 到下一行开始的所有内容 ** **\--** ** ZONE 2 **所以我的字符串应该如下所示: DESCR : Potrero415;Tbl-Rnd
请注意,在此特定部分之前的文件中有多行文本,并且单词 DESCR 仅出现在我要复制的位置,之前没有出现其他内容。

我知道可以使用 split 直到出现 ** **\所有文件的格式相同,只需从 DESCR:** **

查找即可

我知道我冒着在这篇文章上遭到否决的风险。更新:我设法使用以下方法找到该词的出现:

lines = test.readlines()
test.close()
for line in lines:
line = line.strip()
if line.find("DESCR") != -1:
print("FOUND")

其中test是我打开的文件

最佳答案

听起来像是正则表达式的工作。

s 是文件的内容。

>>> import re
>>> s = ''' > ** ** **|** ** STYLE # ** **|** ** DESCR : Potrero415;Tbl-
... Rnd ** **\--------** ** ** **\--** **ZONE 1** **\--**
... ** ** **\--** **ZONE 2** **\--** ** ** **\----** ** -T1-
... -T2- -T3-
...
...
... ** '''
>>>
>>> re.search('(DESCR\s*:.*?)\s*\*\* \*\*', s, re.DOTALL).group(1)
'DESCR : Potrero415;Tbl-\nRnd'

Demo on regex101

(在正则表达式前面加上 (?s) 与提供 re.DOTALL 参数具有相同的效果。)

关于python - 在文件中查找字符串并复制直到Python中出现特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52199185/

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