2024-05-17 19:43:42 发布
网友
如何在字符前面的位置拆分字符串?
显而易见的方法行不通:
>>> h=re.compile("(?=a)") >>> h.split("fffagggahhh") ['fffagggahhh'] >>>
好吧,不完全是你想要的解决方案,但我认为这将是一个有用的补充问题在这里。
Solution without re
无回复:
>>> x = "fffagggahhh" >>> k = x.split('a') >>> j = [k[0]] + ['a'+l for l in k[1:]] >>> j ['fff', 'aggg', 'ahhh'] >>>
>>> r=re.compile("(a?[^a]+)") >>> r.findall("fffagggahhh") ['fff', 'aggg', 'ahhh']
编辑:
这无法正确处理字符串中的双as:
a
>>> r.findall("fffagggaahhh") ['fff', 'aggg', 'ahhh']
肯尼特姆似乎更合适。
>>> rx = re.compile("(?:a|^)[^a]*") >>> rx.findall("fffagggahhh") ['fff', 'aggg', 'ahhh'] >>> rx.findall("aaa") ['a', 'a', 'a'] >>> rx.findall("fgh") ['fgh'] >>> rx.findall("") ['']
好吧,不完全是你想要的解决方案,但我认为这将是一个有用的补充问题在这里。
无回复:
编辑:
这无法正确处理字符串中的双
a
s:肯尼特姆似乎更合适。
相关问题 更多 >
编程相关推荐