python – 删除字符串的前X个单词和分隔符 – 具有多个分隔符
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 删除字符串的前X个单词和分隔符 – 具有多个分隔符,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1588字,纯文字阅读大概需要3分钟。
内容图文
![python – 删除字符串的前X个单词和分隔符 – 具有多个分隔符](/upload/InfoBanner/zyjiaocheng/754/998418661104443fbf2914f5c373b2ff.jpg)
我有一个字符串,如操纵小部件添加,1,2,3(对不起,但我无法更改格式).
我想删除前X个单词和任何分隔它们的分隔符.
我们以3为例,删除操作小部件的添加和离开,1,2,3
或者,采取操作,小部件,添加,1,2,3删除两个单词(操作,小部件)并离开,添加,1,2,3
我可以将字符串拆分为一个列表,其中包含words = re.split(‘[‘delimiters’]’,inputString.strip())但我不能简单地删除第一个X字
用,比方说,
for i in range(1, numWorsdToRemove):
del words[0]
然后返回”.join(words)因为这给了我1 2 3 4.
我该怎么做并保留未删除单词的原始分隔符?
只是为了让它变得有趣,输入字符串可以在单词之间包含多个空格或制表符;只有一个逗号,但也可能有空格预先/取消它:
操纵,小部件添加,1,2,3
请注意,单词不能保证是唯一的,所以我不能删除那些单词的索引,并使用它来返回位置子串.
[更新]我接受’Kasramvd解决方案,但后来发现它没有正确处理卸妆(‘LET FOUR = 2 2’,2)或卸妆(‘A -1 B text.txt’,2),所以现在我我提供的是赏金.
[更新]分隔符是空格,制表符和逗号.其他所有东西(包括等号,减号等)都??是一个单词的一部分(虽然如果有问题,我会很高兴,如果有必要,回答者会告诉我如何添加新的分隔符)
解决方法:
您可以像这样定义RegEx
>>> import re
>>> regEx = re.compile(r'(\s*,?\s*)')
它表示一个可选的逗号后跟或前面有零个或多个空白字符.括号是创建一个匹配组,它将在拆分期间保留分隔符.
现在基于RegEx进行拆分,然后跳过不需要的实际元素数量,以及与这些元素对应的分隔符数量(例如,如果要跳过三个元素,则三个元素之间将有两个分隔符因此,您可能希望从拆分数据中删除前五个元素)并最终加入它们.
例如,
>>> def splitter(data, count):
... return "".join(re.split(regEx, data)[count + (count - 1):])
...
>>> splitter("manipulate,widgets,add,1,2,3", 2)
',add,1,2,3'
>>> splitter("manipulate widgets add,1,2,3", 3)
',1,2,3'
内容总结
以上是互联网集市为您收集整理的python – 删除字符串的前X个单词和分隔符 – 具有多个分隔符全部内容,希望文章能够帮你解决python – 删除字符串的前X个单词和分隔符 – 具有多个分隔符所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。