通过正则表达式在 Python 中对字符串进行分区 [英] Partitioning a string in Python by a regular expression

查看:23
本文介绍了通过正则表达式在 Python 中对字符串进行分区的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在保持空格的同时将字符串拆分为单词边界(空格)上的数组.

例如:

'这是一个\n句子'

会变成

['this', ' ', 'is', ' ', 'a' '\n', 'sentence']

我知道 str.partitionre.split,但它们都不是我想要的,也没有 re.partition.

我应该如何在 Python 中以合理的效率在空格上对字符串进行分区?

解决方案

试试这个:

s = "这是一个\n句子"re.split(r'(\W+)', s) # 注意括号和加号.

结果是:

['this', ' ', 'is', ' ', 'a', '\n', 'sentence']

I need to split a string into an array on word boundaries (whitespace) while maintaining the whitespace.

For example:

'this is  a\nsentence'

Would become

['this', ' ', 'is', '  ', 'a' '\n', 'sentence']

I know about str.partition and re.split, but neither of them quite do what I want and there is no re.partition.

How should I partition strings on whitespace in Python with reasonable efficiency?

解决方案

Try this:

s = "this is  a\nsentence"
re.split(r'(\W+)', s) # Notice parentheses and a plus sign.

Result would be:

['this', ' ', 'is', '  ', 'a', '\n', 'sentence']

这篇关于通过正则表达式在 Python 中对字符串进行分区的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆