我用python strip()去除 首尾汉字为啥不行呢?

se="我的爱3453454好作文"
se.strip(u"[u4e00-u9fa5]+")
'我的爱3453454好作文'
se.strip(u"[u4e00-u9fa5]+")
'我的爱3453454好作文'
se=u"我的爱3453454好作文"
se.strip(u"[u4e00-u9fa5]+")
'我的爱3453454好作文'
se.strip(u"[u4e00-u9fa5]")
'我的爱3453454好作文'
se.strip("[u4e00-u9fa5]")
'我的爱3453454好作文'
阅读 3.3k
2 个回答

strip()的参数不支持正则表达式,参数是字符序列,字符串收尾包含在那个序列里的就删除,举个例子:
In [1]: se = "+dwjsdd"
In [2]: se
Out[2]: '\+dwjsd\d'
In [3]: se.strip("d+")
Out[3]: 'wjs'

import re
s1 = "我的爱3453454好作文"
s2 = "我的爱3453454好作123432文"

p = re.compile("[^\u4e00-\u9fa5]+")

print([i.group() for i in p.finditer(s1)])
print([i.group() for i in p.finditer(s2)])

用这个方法试试。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题