返回

在python中截断长字符串,但仅在特定字符后截断

发布时间:2022-05-09 10:32:24 153
# node.js

我用textwrap在某些情况下拆分长度可能超过280个字符的字符串。不过,我不希望分裂是随机发生的;它只能出现在特定字符之后。就我而言标志和单行线中断\n.

这是我的代码:

query = 'Lorem ipsum dolor\n\n Lorem ipsum 0.5€\n Lorem ipsum 0.2€\n (...)'

for item in [query]:
    # obtain length of string
    item_length = len(item)

    # check length
    if item_length <= 280:
        # do something here

    elif item_length >= 280:
        item_length_limit = item_length / 280

        # determine the number of items
        item_chunk_length = item_length / math.ceil(item_length_limit)

        # chunk the item into individual pieces
        item_chunks = textwrap.wrap(item,  math.ceil(
            item_chunk_length), break_long_words=False, replace_whitespace=False)

        # iterate over the chunks
        for x, chunk in zip(range(len(item_chunks)), item_chunks):
            if x == 0:
                print(f'{chunk} 1/{len(item_chunks)}')
            else:
                print(f'{chunk} {x+1}/{len(item_chunks)}')

电流输出:

Lorem ipsum dolor\n\n Lorem ipsum 0.5€\n Lorem ipsum 1/3
0.2€\n Lorem ipsum 0.4€\n Lorem ipsum 0.4€\n Lorem 2/3
Ipsum 0.4€ 3/3

期望输出:

Lorem ipsum dolor\n\n Lorem ipsum 0.5€\n 1/3
Lorem ipsum 0.2€\n Lorem ipsum 0.4€\n 2/3
Lorem ipsum 0.4€\n Lorem Ipsum 0.4€ 3/3
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像
下一篇
angularjs-angular模块中的多个配置块 2022-05-08 09:42:23