python 生成器函数可帮助解析段落,行和单词

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 生成器函数可帮助解析段落,行和单词相关的知识,希望对你有一定的参考价值。

import re
from itertools import islice

PARAGRAPH = re.compile('\n\s*\n')
WORD = re.compile('\s+|\n')


def lines(text):
    for line in text.splitlines():
        yield line


def paragraphs(text):
    for paragraph in PARAGRAPH.split(text):
        yield paragraph


def words(text):
    for word in WORD.split(text):
        yield word


def quote(text):
    return "'{}'".format(text)


def double_quote(text):
    return '"{}"'.format(text)


def unquote(text):
    return text.strip('\'"')


def get(items, start=None, stop=False, step=None):
    """
    get an index (with IndexError supression) or a slicee list from an iterator
    """
    if not (start or stop or step):
        return list(items)
    if stop is False and (not step or int(step) == 1):
        try:
            return next(islice(items, start, start + 1))
        except StopIteration:
            return
    else:
        if stop is False:
            stop = None
        return list(islice(items, start, stop, step))

以上是关于python 生成器函数可帮助解析段落,行和单词的主要内容,如果未能解决你的问题,请参考以下文章

python:可迭代对象,迭代器,生成器函数,生成器的解析举例代码说明

Python 从某个单词开始阅读,直到该段落结束

Xamarin.UITest :: 如何点击段落中的特定单词?

Python生成器, 列表解析与字典解析

在 python 中构建一个单词搜索生成器

Python全栈day18(三元运算,列表解析,生成器表达式)