下面是一个示例代码,用于遍历文本并找出预定义子字符串之间的距离。
def find_distance(text, substring1, substring2):
# 初始化子字符串的位置列表
positions1 = []
positions2 = []
# 遍历文本,找出子字符串的位置
for i in range(len(text)):
if text[i:i+len(substring1)] == substring1:
positions1.append(i)
elif text[i:i+len(substring2)] == substring2:
positions2.append(i)
# 初始化最小距离为无穷大
min_distance = float('inf')
# 计算最小距离
for i in positions1:
for j in positions2:
distance = abs(i - j)
if distance < min_distance:
min_distance = distance
return min_distance
# 测试
text = "Hello, this is a sample text for testing."
substring1 = "this"
substring2 = "sample"
distance = find_distance(text, substring1, substring2)
print(f"The distance between '{substring1}' and '{substring2}' is {distance}.")
这段代码首先定义了一个find_distance
函数,它接收三个参数:text
表示要遍历的文本,substring1
和substring2
表示要查找的两个子字符串。
在函数内部,我们初始化了两个空列表positions1
和positions2
,用于存储子字符串的位置。
然后,我们使用一个嵌套的循环遍历文本,找出子字符串的位置,并将其分别存储在positions1
和positions2
中。
接下来,我们初始化最小距离为正无穷大。
然后,我们使用两个嵌套的循环遍历positions1
和positions2
,计算每一对位置之间的距离,并更新最小距离。
最后,我们返回最小距离。
在测试部分,我们定义了一个示例文本和两个子字符串,然后调用find_distance
函数来计算它们之间的距离,并将结果打印出来。
上一篇:遍历未知长度的切片
下一篇:遍历文本框并搜索数值