Py学习  »  Python

如何使用Python从字符串中获取值

Sai • 4 年前 • 742 次点击  

我有一根绳子如下。

'<NOV 20, 2017 5:20:17, 20PM IST> <Summary> <USER-1000-1 2017-11-20 08:150:80, 2000'

使用Python,我需要从上面的字符串中提取值,输出应该如下所示

输出:

   Date: 20-NOV-2017
   USER: 1000
   Time: 08:150:80```


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52092
 
742 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Tim Biegeleisen
Reply   •   1 楼
Tim Biegeleisen    4 年前

这里有一种方法,使用 re.search 有五个捕捉组按预期方式将输出拼凑在一起:

inp = '<NOV 20, 2017 5:20:17, 20PM IST> <Summary> <USER-1000-1 2017-11-20 08:150:80, 2000'
match = re.search(r'^<(\w{3}) (\d+), (\d{4}).*\bUSER-(\d+).*\b\d{4}-\d{2}-\d{2} (.*?),.*$', inp)
if match:
    print("Date: " + match.group(2) + "-" + match.group(1) + "-" + match.group(3))
    print("USER: " + match.group(4))
    print("Time: " + match.group(5))

这张照片:

Date: 20-NOV-2017
USER: 1000
Time: 08:150:80

请注意,即使使用regex,拆分也可能不是最好的方法,因为没有明确的分隔符可以在任何地方工作。