【问题描述】 编写一个程序,当在一个字符串中出现指定子串时就删除它。 【输入形式】 用户在第一行输入一个字符串,用户在第二行输入一个子串。 【输出形式】 程序在下一行输出删除其中所有子串后的字符串。如果字符串不包含子串则输出原字符串本身。 【样例输入】 I am a boy! a 【样例输出】 I m boy! 【样例说明】用户首先输入字符串I am a boy!,然后输出子串a,程序会寻找字符串中的子串删除它,最后 将删除后的结果输出:I#m##boy! #表示空格。
时间: 2024-03-17 14:41:57 浏览: 40
以下是 Python 实现的代码:
```python
s = input() # 输入字符串
sub = input() # 输入需要删除的子串
# 使用 replace 函数将子串替换为空串
res = s.replace(sub, '')
print(res)
```
例如,输入:
```
I am a boy!
a
```
则输出:
```
I m boy!
```
相关问题
【问题描述】 编写一个程序,当在一个字符串中出现指定子串时就删除它。 【输入形式】 用户在第一行输入一个字符串,用户在第二行输入一个子串。 【输出形式】 程序在下一行输出删除其中所有子串后的字符串。如果字符串不包含子串则输出原字符串本身
好的,这是一个字符串处理的问题,我可以为您提供一个Python的解决方案,您可以将以下代码复制到Python的IDE中运行:
```python
# 获取用户输入的字符串和子串
string = input()
substring = input()
# 判断子串是否在字符串中出现
if substring in string:
# 删除子串
new_string = string.replace(substring, "")
print(new_string)
else:
# 如果字符串不包含子串,则输出原字符串本身
print(string)
```
这个程序会先获取用户输入的字符串和子串,然后判断子串是否在字符串中出现。如果子串在字符串中出现,则用`replace()`函数将所有子串替换为空字符串,从而删除子串,最后输出删除子串后的字符串。如果字符串不包含子串,则直接输出原字符串本身。
希望我的回答能够帮到您。
str1 = input() str2 = input() for i in str1: for x in str2: if x==i: str1 = str1.replace(i,"") print(str1) 与 问题描述】 编写一个程序,当在一个字符串中出现指定子串时就删除它。 【输入形式】 用户在第一行输入一个字符串,用户在第二行输入一个子串。 【输出形式】 程序在下一行输出删除其中所有子串后的字符串。如果字符串不包含子串则输出原字符串本身
这段代码在逻辑上是有问题的,因为它的内层循环是没有必要的,而且还会导致错误的输出结果。
首先,内层循环是没有必要的,因为我们只需要判断子串中的字符是否在字符串中出现,而不需要遍历字符串的每个字符。所以,您可以将内层循环删除,只保留外层循环即可。
其次,在每次删除字符时,您需要将删除后的字符串重新赋值给`str1`变量,以便在下次遍历时能够更新字符串的内容。否则,如果不重新赋值,则会根据原始字符串删除字符,而不是基于更新后的字符串进行删除。
最后,输出的位置也需要调整,应该在外层循环结束后输出字符串。
综上所述,您可以参考以下代码来实现字符串的删除:
```python
str1 = input()
str2 = input()
for i in str2:
if i in str1:
str1 = str1.replace(i, "")
print(str1)
```
这个程序会先获取用户输入的字符串`str1`和子串`str2`,然后遍历子串中的每个字符,如果该字符在字符串中出现,则用`replace()`函数将其替换为空字符串。最后输出替换后的字符串。
希望这个解决方案能够帮到您。
阅读全文