在python中按长度将字符串分成几个部分



Python
我想把一个字符串分成最多5000个字符的部分。(我们还需要注意,当我们在一个单词中时不要拆分它,只有当我们发现一个空格时才拆分它。)
我逐个字符遍历字符串,每4980个字符我将其分成几个部分,然后如果仍然有一个小于4980的部分,我也翻译它。我是python的新手,所以我确信我的方法是一团糟,它可以工作,但肯定不是好的代码。
我没有检查字符串中是否有空格,因为在日语和中文中没有空格,但是这个也需要检查,这样我们就不会把一个单词分成两个部分。

with open('lightnovel.txt', 'r', encoding="utf8") as f:
file = f.read()
db = 0
partofbook = u''
last = u''
length = len(file)
mult = 0
for character in file:
db = db + 1
partofbook = partofbook + character
if db > 4880:
mult += 1
db = 0
trans(partofbook)
partofbook = u''
elif length - (mult * 4980) > 0 and length - (mult * 4980) < 5000 :
last = last + character
do = 1
if do == 1:
trans(last)

我也是python的新手,所以我很抱歉没有在你的代码中实现这一点。

有一个叫做string.split()的函数(其中string是你想要分割的句子)。

这个函数只在有空格时才会分割。

我会从索引5000开始,向后迭代直到你在位置A找到空白,假设,然后你的第一个输出是string[0,A-1](在Python中,你可以使用s[0:A]来获得这个子字符串)。

然后跳转到索引A+5000并做同样的事情,向后搜索空白,在索引B中找到,所以你的下一个输出是string[A, B-1](在Python中你可以使用s[A+1:B]来获得这个子字符串)。注意:它是A+1,因为您想跳过索引A中的空白。

重复直到完成。显然,要检查不要跳过len(string)。

,看

  • 如何通过索引从字符串中获取字符?
  • 如何从字符串获得子字符串?

最新更新