用星号python拆分字符串
作者:互联网
我刚刚开始学习python 2天前,对不起,如果我犯了明显的错误
strings: "brake break at * time" --> ["at","time"]
"strang strange I felt very *" --> ["very",""]
我想在*之前和之后得到消息*
我的尝试:
re.match(r"(?P(first_word)\w+) ('_*_') (?P(first_word)\w+)",strings).group('first_word')
获得第一个字
re.match(r"(?P(first_word)\w+) ('_*_') (?P(first_word)\w+)",strings).group('last_word')
得到最后的话
错误:没有什么可重复的
解决方法:
只需使用string.split(‘*’).
像这样(仅适用于1 *):
>>> s = "brake break at * time"
>>> def my_func(s):
parts = s.split('*')
a = parts[0].split()[-1]
b = parts[1].split()[0] if parts[1].split() else ''
return a,b
>>> my_func(s)
('at', ' time')
或者如果你想要正则表达式:
>>> s = "brake break at * time 123 * blah"
>>> regex = re.compile("(\w+)\s+\*\s*(\w*)")
# Run findall
>>> regex.findall(s)
[(u'at', u'time'), (u'123', u'blah')]
标签:python,string,split,pattern-matching,matching 来源: https://codeday.me/bug/20190901/1780404.html