繁体   English   中英

拆分存储每个子字符串索引的字符串

[英]Split a string storing the indices of every substring

python中有一个很酷的原生.split() ,返回子串列表。 是否有一种原生的,或者至少不是非常讨厌的方式来分割多个分隔符并自动获得子串坐标? 像这样的东西:

"abc? !cde".some_smart_split("!?") -> [("abc", 0, 2), (" ", 4, 4), ("cde", 6, 8)]

当然,我自己也可以写一些天真的代码。 但是我的用例要复杂得多,找到简洁的东西会很棒。

使用re.finditer

>>> import re
>>> [(match.group(0), match.start(), match.end())
     for match in re.finditer(r'[^!?]+', 'abc? !cde')]
[('abc', 0, 3), (' ', 4, 5), ('cde', 6, 9)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM