2024-03-28 20:13:42 发布
网友
我知道您可以使用split()将一个用户输入拆分为两个,但是如何分割包含多个变量的输入呢?例如: 用户输入:
Shawn=14:soccer#2991842
我想做的是:
做这种事最好的方法是什么?在
我认为Regex在这里最有效:
>>> from re import split >>> mystr = "Shawn=14:soccer#2991842" >>> split("\W", mystr) ['Shawn', '14', 'soccer', '2991842'] >>> lst = split("\W", mystr) >>> name = lst[0] >>> name 'Shawn' >>> age = lst[1] >>> age '14' >>> course = lst[2] >>> course 'soccer' >>> idnumber = lst[3] >>> idnumber '2991842' >>>
此外,以上是一个逐步演示。你可以做的就是:
str = 'Shawn=14:soccer#2991842' keys = ['name', 'age', 'course', 'idnumber'] values = re.split('[=:#]', str) print dict(zip(keys, values)) Out[114]: {'age': '14', 'course': 'soccer', 'idnumber': '2991842', 'name': 'Shawn'}
如果您可以将它们存储在字典键下,可以使用named group references
import re x='shawn=14:soccer#2991842' re.match(r'(?P<name>.*?)=(?P<age>.*):(?P<course>.*?)#(?P<idnumber>.*)', x).groupdict() {'idnumber': '2991842', 'course': 'soccer', 'age': '14', 'name': 'shawn
我认为Regex在这里最有效:
此外,以上是一个逐步演示。你可以做的就是:
^{pr2}$如果您可以将它们存储在字典键下,可以使用named group references
相关问题 更多 >
编程相关推荐