我正在从网站中解析一个字符串的文本:
"Some Event 21.08.2019—31.08.2019 Standart (1+1) , Some text"
或类似的东西。我需要在最后日期和逗号之间输入文字。
这是"Standart (1+1)"
片。该怎么做?
str1 = "Some Event 21.08.2019—31.08.2019 Standart (1+1) , Some text"
Answer: str2 = "Standart (1+1)"
答案 0 :(得分:1)
您可以使用正则表达式对此进行解析:
>>> import re
>>> str1 = "Some Event 21.08.2019—31.08.2019 Standart (1+1) , Some text"
>>> m = re.match(r'.*? \d{2}\.\d{2}\.\d{4}.\d{2}\.\d{2}\.\d{4} (.*?) , .*', str1)
>>> m.group(1)
'Standart (1+1)'
.*?
可以匹配任何内容,但必须匹配。 \d{2}
匹配两个数字。 \.
匹配一个句点。 .
匹配任何东西,我用它来匹配该破折号而不必输入。 (.*?)
匹配任何内容并捕获它,以便以后可以使用,
。最后,我只用.*
捕获了其余所有内容。
如果所需的字符串中包含逗号,则此操作将中断。那么最好使用(.*)
进行捕获,最后使用.*?
。
顺便说一句,它可能写为“标准”而不是“标准”。