kak*_*eys 12 python regex split
如何在字符前的位置拆分字符串?
显而易见的方法不起作用:
>>> h=re.compile("(?=a)")
>>> h.split("fffagggahhh")
['fffagggahhh']
>>>
Run Code Online (Sandbox Code Playgroud)
pyf*_*unc 20
好吧,不完全是你想要的解决方案,但我认为这将是一个有用的问题补充.
没有重新解决方案
没有重新:
>>> x = "fffagggahhh"
>>> k = x.split('a')
>>> j = [k[0]] + ['a'+l for l in k[1:]]
>>> j
['fff', 'aggg', 'ahhh']
>>>
Run Code Online (Sandbox Code Playgroud)
>>> rx = re.compile("(?:a|^)[^a]*")
>>> rx.findall("fffagggahhh")
['fff', 'aggg', 'ahhh']
>>> rx.findall("aaa")
['a', 'a', 'a']
>>> rx.findall("fgh")
['fgh']
>>> rx.findall("")
['']
Run Code Online (Sandbox Code Playgroud)
>>> r=re.compile("(a?[^a]+)")
>>> r.findall("fffagggahhh")
['fff', 'aggg', 'ahhh']
Run Code Online (Sandbox Code Playgroud)
编辑:
这将无法正确处理a字符串中的 double :
>>> r.findall("fffagggaahhh")
['fff', 'aggg', 'ahhh']
Run Code Online (Sandbox Code Playgroud)
KennyTM 的重新似乎更适合。
| 归档时间: |
|
| 查看次数: |
32223 次 |
| 最近记录: |