-1

抱歉,这似乎是一个重复的问题,但我真的需要帮助

所以我有一个文本文件,它有一行格式:

Thu Apr 28 20:51:37 +0000 2011 :: Melanie Caldwell :: judeyqwaller :: Hong Kong :: P000352670 - Toshiba Satellite 5205 系列触摸板:Toshiba Satellite 5205 系列触摸板 - P000352670COMPATIB... http://t.co/ QU5jA6U5

我只需要拉出:: Hong Kong::ie 之后开始的那部分行P000352670...,依此类推。

如何使用正则表达式做到这一点?

4

3 回答 3

3

试试这个:

res = ' :: '.join(row.split(' :: ')[4:])
于 2012-07-13T07:19:48.417 回答
1

您不需要正则表达式,这很简单,您可以执行以下操作:

x = string.split("::")[-1]

如果字符串是您的文本行

编辑您的新问题(假设您使用的是 python 2.5+):

string = "682698_62876_26861"
print string.rpartition('_')[0]

这将准确输出您需要的内容:

682698_62876
于 2012-07-13T07:24:53.980 回答
1
>>> row = "Thu Apr 28 20:51:37 +0000 2011 :: Melanie Caldwell :: judeyqwaller :: Hong Kong :: P000352670 - Toshiba Satellite 5205 Series TouchPad: Toshiba Satellite 5205 Series TouchPad - P000352670COMPATIB... http://t.co/QU5jA6U5"
>>> row.rpartition('::')[2]
' P000352670 - Toshiba Satellite 5205 Series TouchPad: Toshiba Satellite 5205 Series TouchPad - P000352670COMPATIB... http://t.co/QU5jA6U5'
于 2012-07-13T07:29:03.307 回答