我可以在循环中执行以下操作,但是正在寻找更简洁的方法来执行此操作,或者更好的方法。
我的字符串可能超过100,000个字符。
示例:
somestring,otherstring,MyString中,blahstring等...
我需要将字符串拆分为多个字符串或列表,每个部分包含少于30,000个字符,而在此示例中仅使用逗号分隔,逗号。
就像我之前说的那样,我写了一个for循环,我在几行中管理它,但它很乱,我想要了解更多关于python,所以我想在这里看到更好的方法来处理它。谢谢你的任何指示。
答案 0 :(得分:0)
python str
类(字符串)包含一个名为split
的方法。您要做的是致电s.split(',')
。您可以使用您选择的分隔符替换逗号。这将返回一个字符串列表。分隔符将从列表中的每个字符串中删除。
答案 1 :(得分:0)
我喜欢这样的事情:
chunks = [] // used to store the smaller chunks
maxlen = 30000 // maximum chunk size
while True:
if len(myString) <= maxlen:
chunks.append(myString) // add the last chunk
break // done
sepIndex = myString.rfind(delim, 0, maxlen) // find last delimiter < maxlen
chunks.append(myString[:sepIndex]) // add it to chunks
myString = myString[sepIndex + 1:] // remove it and delimiter
如果您需要保留原始字符串,请对原始字符串的副本进行操作。
P.S。该算法非常类似于自动换行算法(例如,拆分空间低于80个字符),所以你也可以搜索它们。