fix(split): support multi-character separators (#14685)

Signed-off-by: god032396-del <god032396@gmail.com>
Co-authored-by: Codebuff Contributor <contributor@codebuff.com>
This commit is contained in:
Md Mushfiqur Rahim
2026-09-09 20:07:58 +02:00
committed by GitHub
co-authored by Codebuff Contributor
parent 5ce67332fc
commit 927c7d3f20
+19 -5
View File
@@ -17,17 +17,31 @@ def split(string: str, separator: str = " ") -> list:
>>> split(";abbb;;c;", separator=';')
['', 'abbb', '', 'c', '']
>>> split("a--b--c", separator="--")
['a', 'b', 'c']
>>> split("apple##banana##cherry", separator="##")
['apple', 'banana', 'cherry']
"""
split_words = []
separator_length = len(separator)
if separator_length == 0:
return [string]
last_index = 0
for index, char in enumerate(string):
if char == separator:
index = 0
while index < len(string):
if string[index : index + separator_length] == separator:
split_words.append(string[last_index:index])
last_index = index + 1
if index + 1 == len(string):
split_words.append(string[last_index : index + 1])
last_index = index + separator_length
index += separator_length
else:
index += 1
split_words.append(string[last_index:])
return split_words