按分隔符划分迭代器是指将一个字符串按照指定的分隔符进行划分,并返回一个迭代器,每次迭代返回一个划分后的子串。
以下是一个Python示例代码,实现了按分隔符划分迭代器的功能:
class SplitIterator:
def __init__(self, string, delimiter):
self.string = string
self.delimiter = delimiter
self.start = 0
self.end = 0
def __iter__(self):
return self
def __next__(self):
if self.end == len(self.string):
raise StopIteration
while self.end < len(self.string) and self.string[self.end] != self.delimiter:
self.end += 1
result = self.string[self.start:self.end]
self.start = self.end + 1
self.end += 1
return result
使用示例:
string = "Hello,World,Python"
delimiter = ","
split_iterator = SplitIterator(string, delimiter)
for substring in split_iterator:
print(substring)
输出结果:
Hello
World
Python
在上述示例中,SplitIterator
是一个自定义的迭代器类。在初始化时,需要传入要划分的字符串 string
和分隔符 delimiter
。迭代过程中,会不断寻找分隔符在字符串中的位置,然后返回从当前位置到分隔符前一个位置的子串。当迭代到最后一个子串后,抛出 StopIteration
异常以停止迭代。
上一篇:按分隔符分割字符串无法正确分割。