2

1.过滤字符串中不属于指定集合的字符


任务
给定一个需要保留的字符的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素。

解决方案
可以用string对象的translate方法。translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。用maketrans() 方法用于创建字符映射的转换表,具体代码如下:

def make_filter(s,filter_word):
    table = str.maketrans(filter_word, ' '*len(filter_word))
    return s.translate(table).replace(' ','')

测试用例

if __name__ == '__main__':
    input = 'study makes me happy '
    just_vowels = make_filter(input,'aeiou')
    print(just_vowels)

测试结果

clipboard.png


月季卷心菜花
53 声望7 粉丝

吾魂兮无求乎永生,竭尽兮人事之所能。