编程语言
首页 > 编程语言> > 用星号python拆分字符串

用星号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