正则表达式不会删除拆分函数中的特殊字符
Regex does not remove the special chars in split function
我正在使用正则表达式将字符串拆分为子字符串数组
输入:mark bill #special# #special method# johni
import re
re.split('[ #, #]+', 'mark bill #special# #special method# johni')
当我执行这个命令时,结果是:['mark', 'bill', 'special', 'special method' 'johni']
没错,但是在字符串中 'special'
我不想删除特殊字符 #
我想要这个结果:: ['mark', 'bill', '#special#', #special method#, 'johni']
可能吗?
谢谢。
而不是 split
你应该使用 findall
:
print re.findall(r'#[^#]*#|\S+', 'mark bill #special# #special method# johni')
输出:
['mark', 'bill', '#special#', '#special method#', 'johni']
我正在使用正则表达式将字符串拆分为子字符串数组
输入:mark bill #special# #special method# johni
import re
re.split('[ #, #]+', 'mark bill #special# #special method# johni')
当我执行这个命令时,结果是:['mark', 'bill', 'special', 'special method' 'johni']
没错,但是在字符串中 'special'
我不想删除特殊字符 #
我想要这个结果:: ['mark', 'bill', '#special#', #special method#, 'johni']
可能吗?
谢谢。
而不是 split
你应该使用 findall
:
print re.findall(r'#[^#]*#|\S+', 'mark bill #special# #special method# johni')
输出:
['mark', 'bill', '#special#', '#special method#', 'johni']