如何在字符串中的数据和逗号之间获取文本?

时间:2019-01-13 19:03:55

标签: python python-3.x string indexing

我正在从网站中解析一个字符串的文本:

"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)"

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}匹配两个数字。 \.匹配一个句点。 .匹配任何东西,我用它来匹配该破折号而不必输入。 (.*?)匹配任何内容并捕获它,以便以后可以使用,。最后,我只用.*捕获了其余所有内容。

如果所需的字符串中包含逗号,则此操作将中断。那么最好使用(.*)进行捕获,最后使用.*?

顺便说一句,它可能写为“标准”而不是“标准”。