Python字符限制器

3 投票
2 回答
1865 浏览
提问于 2025-04-16 23:00

我想知道怎么根据字符数来限制一个字符串,同时又能保留完整的单词。

我不想只是简单地切割字符串,而是希望能保留完整的单词。请给我一些指导……

编辑

举个例子

string = "stackoverflow rocks , I know it."

所以我需要一个函数,比如说

limiter(string,5)

这个函数应该返回一个完整的单词(在这个例子中是stackoverflow),即使我设定的限制是5个字符。这样可以保留单词的意思……

limiter(string,25)

期望的结果

stackoverflow rocks , I know

谢谢!

2 个回答

5

这样做对你有用吗?

#!/usr/bin/python

def limiter(x, limit):
    for i in range(len(x)):
        if i >= limit and x[i] == " ":
            break
    return x[:i]

def main():
    x = "stackoverflow rocks , I know it."
    print limiter(x, 5)
    print limiter(x, 25)

if __name__ == '__main__':
    main()
4

如果你想要把一串文字换行,下面这个方法很简单:

  1. 先从字符 start + max_width 开始查看
  2. 然后每次往回看一个字符,直到找到一个可以断开的单词的字符
  3. 如果找到了,就在那个地方断开;如果你回到 start 了,那就没办法了,只能把整行文字都打印出来

撰写回答