gpt4 book ai didi

python - 在 Python 中从字符串中删除子字符串

转载 作者:行者123 更新时间:2023-12-04 14:02:37 25 4
gpt4 key购买 nike

我想编写一个接受 2 个输入的函数:一个字符串和一个子字符串,然后该函数将从字符串中删除那部分子字符串。

def remove_substring(s, substr):
"""(str, str) -> NoneType
Returns string without string substr

remove_substring_from_string("Im in cs", "cs")
Im in
"""
other_s = ''
for substr in s:
if substr in s:
continue

我如何从这里继续?假设我的逻辑是合理的。

最佳答案

避免使用 Python 函数。

方法一

def remove_substring_from_string(s, substr):
'''
find start index in s of substring
remove it by skipping over it
'''
i = 0
while i < len(s) - len(substr) + 1:
# Check if substring starts at i
if s[i:i+len(substr)] == substr:
break
i += 1
else:
# break not hit, so substr not found
return s

# break hit
return s[:i] + s[i+len(substr):]

方法二

如果可以使用range函数,上面可以写得更简洁一些

def remove_substring_from_string(s, substr):
'''
find start index in s of substring
remove it by skipping over it
'''
for i in range(len(s) - len(substr) + 1):
if s[i:i+len(substr)] == substr:
break
else:
# break not hit, so substr not found
return s

return s[:i] + s[i+len(substr):]

测试

print(remove_substring_from_string("I have nothing to declare except my genuis", " except my genuis"))
# Output: I have nothing to declare'

关于python - 在 Python 中从字符串中删除子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69519122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com