Python 创建要在分隔符上拆分的函数
此函数接受两个参数text和separator,这两个参数都是字符串,并从text返回一个非空、非空字符串列表,通过在任何分隔符上拆分文本来确定。 分隔符是一组单字符分隔符 以下是一个例子:Python 创建要在分隔符上拆分的函数,python,string,python-3.x,Python,String,Python 3.x,此函数接受两个参数text和separator,这两个参数都是字符串,并从text返回一个非空、非空字符串列表,通过在任何分隔符上拆分文本来确定。 分隔符是一组单字符分隔符 以下是一个例子: def split_on_separators(text, separators) >>>split_on_separators("Hooray! Finally, we're done.", "!,") ['Hooray', ' Finally', " we're done."] 这就
def split_on_separators(text, separators)
>>>split_on_separators("Hooray! Finally, we're done.", "!,")
['Hooray', ' Finally', " we're done."]
这就是我到目前为止所做的:
location_of_sep = []
result = []
for i in range(len(text)):
if original[i] in separators:
location_of_sep.append(i)
我被这部分难住了。现在我已经知道了分隔符的位置,如何将其添加到列表结果中。
我尝试了以下方法:
location_of_sep= [6, 15] #location of separator for the example given above
for j in location_of_sep:
result.append(text[0:j])
这不起作用,因为它无法获取两个分隔符之间的文本。我可能想得太多了。如有任何帮助,我们将不胜感激请使用:
如果不想使用正则表达式: 使用,你可以配对
>>> text = "Hooray! Finally, we're done."
>>> location_of_sep = [6, 15]
>>> zip([-1] + location_of_sep, location_of_sep + [None])
[(-1, 6), (6, 15), (15, None)]
>>> [(i+1,j) for i, j in zip([-1] + location_of_sep, location_of_sep + [None])]
[(0, 6), (7, 15), (16, None)]
>>> [text[i+1:j] for i, j in zip([-1] + location_of_sep, location_of_sep + [None])]
['Hooray', ' Finally', " we're done."]
如何使用:
如果不想使用正则表达式: 使用,你可以配对
>>> text = "Hooray! Finally, we're done."
>>> location_of_sep = [6, 15]
>>> zip([-1] + location_of_sep, location_of_sep + [None])
[(-1, 6), (6, 15), (15, None)]
>>> [(i+1,j) for i, j in zip([-1] + location_of_sep, location_of_sep + [None])]
[(0, 6), (7, 15), (16, None)]
>>> [text[i+1:j] for i, j in zip([-1] + location_of_sep, location_of_sep + [None])]
['Hooray', ' Finally', " we're done."]
+1用于建议重新拆分并回答引导问题+1用于建议重新拆分并回答引导问题