我有一些随机字符串,比方说:
s = "This string has some verylongwordsneededtosplit"
我正在尝试编写一个函数 trunc_string(string, len),它将字符串作为要操作的参数,并将“len”作为长单词拆分后的字符数。
结果应该是这样的
str = trunc_string(s, 10)
str = "This string has some verylongwo rdsneededt osplit"
现在我有这样的东西:
def truncate_long_words(s, num):
"""Splits long words in string"""
words = s.split()
for word in words:
if len(word) > num:
split_words = list(words)
在这部分之后,我将这个长单词作为字符列表。现在我需要:
- 在一些 word_part 临时列表中加入 'num' 个字符
- 将所有word_parts合并为一个词
- 将这个单词与其他单词连接起来,这些单词不够长,无法拆分。
我应该以某种类似的方式制作它吗? :
counter = 0
for char in split_words:
word_part.append(char)
counter = counter+1
if counter == num
在这里我应该以某种方式将所有 word_part 连接在一起创建 word 并进一步
请您参考如下方法:
def split_word(word, length=10):
return (word[n:n+length] for n in range(0, len(word), length))
string = "This string has some verylongwordsneededtosplit"
print [item for word in string.split() for item in split_word(word)]
# ['This', 'string', 'has', 'some', 'verylongwo', 'rdsneededt', 'osplit']
注意:将字符串命名为 str 是个坏主意。它隐藏了内置类型。
