今天看完Python正则表达式之后,刚刚好自己的爬虫出了问题,就是在创建文件夹的时候还有命名图片的时候因为字符串中出现了特殊符号,比如说"",%,/等符号,导致爬虫在创建文件夹和图片以及视频的时候出现了错误,因为windows中不允许文件和文件夹中包含一些特殊符号,刚刚在看完python表达式之后发现了re.sub方法,
该方法用于替换字符串中的匹配项:

函数语法:

re.sub(pattern, repl, string, count=0, flags=0)

函数参数:

pattern:正则中的模式字符串;
repl :替换的字符串,也可为一个函数;
string :要被查找替换的原始字符串;
count :模式匹配后替换的最大次数,默认 0 表示替换所有的匹配;

即通过正则表达式pattern匹配string中的字符,并将其替换为repl。

所以我写了一个函数,专门用于移除字符串中的特殊符号:

def RemoveSpecialSymbols(newstr):
    result = re.sub('\W\s+', '', value).replace("_", '')
    return result

\W表示匹配非数字字母下划线,所以在最后面使用了replace将下划线进行了替换,\s表示匹配空字符,即将空字符串也进行替换。