📅  最后修改于: 2023-12-03 15:27:57.673000             🧑  作者: Mango
在字符串处理中,经常需要从一个字符串中获取到另一个字符串的位置。这时我们可以使用计数的字符来实现。计数的字符指的是用于计数的字符,一般情况下是在输入数据中不存在的字符,例如制表符、空格、换行符等。
假设有两个字符串,分别为str1和str2,我们要在str1中找到str2的位置。我们可以使用以下步骤来实现:
在实现时要注意边界条件,尤其是在查找str2时。
def find_pos(str1: str, str2: str, count_char: str = '\r') -> int:
pos = -1
count = 0
while True:
# 找到计数字符的位置
count = str1.find(count_char, count)
# 在str1中找到了str2
if str1[count+1:count+1+len(str2)] == str2:
pos = count+1
break
# 在str1中未找到str2
if count == -1:
break
count += 1
return pos
str1 = "Hello, world!\nHow are you?"
str2 = "world"
# 查找str2在str1中的位置
pos = find_pos(str1, str2)
if pos != -1:
print(f"Found '{str2}' at position {pos}")
else:
print(f"'{str2}' not found")
输出结果:
Found 'world' at position 7
以上是计数的字符从字符串以获得另一字符串的开始或结束错开的介绍。