Python 删除字符串中的子串

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。

输入格式:
输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。

输出格式:
在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。

输入样例:
Tomcat is a male ccatat
cat

输出样例:
Tom is a male
话不多说上代码:

s1=input()#可自行添加提示语
s2=input()
flag=1
while flag==1:#若无子字符串在内则跳出循环
    flag=0
    if s2 in s1:
        s1=s1.replace(s2,'')
        flag=1
print(s1)

### 删除字符串中的指定子串Python 中,删除字符串中的指定子串是一项常见的字符串处理任务。可以使用多种方式实现这一功能,以下是几种常用方法: #### 方法一:使用 `replace()` 函数 `str.replace(old, new)` 函数可以将字符串中所有出现的 `old` 子串替换为 `new`。如果要删除子串,只需将 `new` 设为空字符串 `""`。例如: ```python string = "笨鸟工具,x1y1z1.com" substring_to_remove = "笨鸟" result = string.replace(substring_to_remove, "") print(result) # 输出: 工具,x1y1z1.com ``` 此方法简单且高效,适用于一次性删除所有匹配的子串[^1]。 #### 方法二:循环删除子串 如果需要多次删除某个子串(例如该子串可能重复嵌套),可以使用 `while` 循环结合 `replace()` 函数确保彻底删除所有实例: ```python str1 = input().split('\n')[0] str2 = input().split('\n')[0] while str2 in str1: str1 = str1.replace(str2, "") # 删除子串 print(str1) ``` 这种方法适用于子串可能出现多次的情况,通过循环不断删除直到无匹配为止[^1]。 #### 方法三:使用 `find()` 和切片手动构建新字符串 可以通过 `str.find()` 查找子串的位置,并利用字符串切片逐步构建新的字符串: ```python string = "笨鸟工具,x1y1z1.com" substring_to_remove = "工具" index = string.find(substring_to_remove) if index != -1: result = string[:index] + string[index + len(substring_to_remove):] print(result) # 输出: 笨鸟,x1y1z1.com else: print(string) ``` 此方法适用于需要更精细控制删除过程的场景,例如只删除第一个匹配项或特定位置的子串[^2]。 #### 方法四:使用正则表达式删除子串 对于更复杂的模式匹配和删除需求,可以借助 `re` 模块进行操作: ```python import re string = "笨鸟工具,x1y1z1.com" substring_to_remove = "x1y1z1" result = re.sub(substring_to_remove, "", string) print(result) # 输出: 笨鸟工具,.com ``` 正则表达式提供了强大的文本匹配能力,适合处理包含通配符、重复模式等复杂情况[^4]。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值