有两个非空字符串,一个长的字符串,一个短的字符串。现在要在长串中查找并删除短串,要求删除至多一次
输入
输入只有一行,共三项,用空格隔开。前两个是字符串,分别是长字符串和短字符串。前者长度大于等于后者的长度,且字符串中不包含空白符。还有一个整数 n,取值为 0 或 1,0 表示至多删除一次,1 表示全部删除。
输出
如果短串包含在长串中,则打印处理后的字符串,否则打印 "Fail to delete"
有两个非空字符串,一个长的字符串,一个短的字符串。现在要在长串中查找并删除短串,要求删除至多一次
输入
输入只有一行,共三项,用空格隔开。前两个是字符串,分别是长字符串和短字符串。前者长度大于等于后者的长度,且字符串中不包含空白符。还有一个整数 n,取值为 0 或 1,0 表示至多删除一次,1 表示全部删除。
输出
如果短串包含在长串中,则打印处理后的字符串,否则打印 "Fail to delete"
代码可这样 写:
import re
s1,s2,n=input('输入长、短两个字符串及一个数字(0/1):').split()
m=re.findall(s2,s1)
if m:
if n=='0':
res=re.sub(s2,'',s1,1)
else:
res = re.sub(s2, '',s1)
print(res)
else:
print('Fail to delete')
运行结果:
F:\2021\qa\ot2>t7
输入长、短两个字符串及一个数字(0/1):trabcmgabcxyzabc abc 1
trmgxyz
F:\2021\qa\ot2>t7
输入长、短两个字符串及一个数字(0/1):abc d 0
Fail to delete
F:\2021\qa\ot2>t7
输入长、短两个字符串及一个数字(0/1):trabcmgabcxyzabc abc 0
trmgabcxyzabc
如有帮助,请点采纳该回答按钮。