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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值