20200911练习题

第一题:
字符串a为"Hello",字符串b为"#2#Lisaend"。判断字符串b中是否含有“#2#”,如果有,则将字符串a与字符串b中“#2#”与“end”之间的字符串用空格连接起来,然后输出“biubiubiu”。

第二题:
任意给定一个字符串,去掉里面的数字部分,并输出结果,比如给定一个字符串"de2de2de",输出"dedede"。

第一题解析::本题要要用到str.find方法,其具体语法为:
str.find(sub)——返回子字符串sub在str内被找到的最小索引,如果sub未被找到则返回-1。
利用str.find方法找到子字符串'end'在字符串b中的索引位置,从而完成题意指定的字符串拼接。

源代码:

a = 'Hello'
b = '#2#Lisaend'
if ('#2#' in b):
    i = b.find('end')
    print(a + ' ' + b[3:i])
    print('biubiubiu')

第二题解析:
替换字符串有两个常用的方法,第一种就是字符串方法str.replace(),另外一种就是强大的正则表达式re.sub()函数了。而前者的功能虽然方便,但具有较大的局限性,后者就灵活和强大许多了。显然,本题使用后者更为合理。
re.sub函数的具体语法是:
re.sub(pattern, repl, string, count=0, flags=0)——在一个字符串string中,用repl替换所有匹配正则表达式pattern的子串,返回替换后的字符串。

源代码:

import re
s = 'de2de2de'
m = re.sub(r'd', '', s)
print(m)
原文地址:https://www.cnblogs.com/faberbeta/p/13662308.html