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)。
,看
- 如何通过索引从字符串中获取字符?
- 如何从字符串获得子字符串?