python - 贪婪的正则表达式每第 n 行拆分 python

标签 python regex string

我的问题与此类似one , 但有一些修改。首先我需要使用 python 和正则表达式。我的字符串是:“四分和七年前。”我想每隔 6 个字符将它拆分一次,但如果字符不除以 6,我还想在最后返回空格。

我希望能够输入:'四分和七年前。'

理想情况下,它应该输出:['Four s', 'core a', 'nd sev', 'en yea', 'rs ago', '. ']

我能得到的最接近的是这种尝试,它忽略了我的句点并且没有给我空格

re.findall('.{%s}'%6,'Four score and seven years ago.') #split into strings
['Four s', 'core a', 'nd sev', 'en yea', 'rs ago']

最佳答案

无需正则表达式,这很容易做到:

>>> s = 'Four score and seven years ago.'
>>> ss = s + 5*' '; [ss[i:i+6] for i in range(0, len(s) - 1, 6)]
['Four s', 'core a', 'nd sev', 'en yea', 'rs ago', '.     ']

这会在您要求的末尾提供空格。

或者,如果您必须使用正则表达式:

>>> import re
>>> re.findall('.{6}', ss)
['Four s', 'core a', 'nd sev', 'en yea', 'rs ago', '.     ']

这两种情况的关键是创建字符串 ss,它在末尾有足够的空格。

关于python - 贪婪的正则表达式每第 n 行拆分 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33978569/

相关文章:

python - 如何制作一个返回用户级别的函数?

Python使用正则表达式查找文本中的所有内容

php - 使用正则表达式跳过所有字符,直到使用负先行找到特定的字母序列

c - 为什么前几个字符串赋值比较慢?

java - 使用此正则表达式拆分字符串 : [\\dc]+

c++ - 使用辅助方法操作字符串的范围问题

python - 参数化包含 JSON 正文的 python POST 请求

python - 如何在 Eclipse + Pydev 中获取单元测试覆盖率结果?

php - 以编程方式执行 Photoshop 的 "Luminosity"滤镜

regex - Vim 搜索和替换查询