替换文件夹名称的多个字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了替换文件夹名称的多个字符相关的知识,希望对你有一定的参考价值。

我在Windows和Windows上不喜欢文件夹名称的'/“|:* <>'字符。现在我不想用'_'替换所说的字符。如果我是.replace(':', '_')似乎没有用与任何其他角色。但无论如何,我想要替换所有上述字符。我尝试了(somestring).replace(':', '_').replace('?', '_')但它不起作用。

现在怎么样:

with open(unidecode(somestring).replace(':', '_')+'/{0}_{1}.txt'.format(counter, points), 'w+', encoding='utf-8') as outfile: outfile.write('{0}\n\n{1}\n'.format(stringhere, somecontent))

如上所述,它取代':'就好了。但没有其他角色。在这种情况下如何替换多个字符?

答案

使用regex

import re
fe = '?/"|:*<>?/abcdefg"|:*<>'
ke = re.sub(r'[?/"|:*<>]', '_', fe)

>>> fe
'?/"|:*<>?/abcdefg"|:*<>'

>>> ke
'__________abcdefg______'
另一答案

这应该工作:

res = ''.join(['_' if letter in '?/"|:*<>' else letter for letter in fe])
print(res)
#__________abcdefg______

以上是关于替换文件夹名称的多个字符的主要内容,如果未能解决你的问题,请参考以下文章

替换从 VAST 代码返回的多个 HLS VOD 片段

java 字符串替换

文件夹名称中的最后一个字符无法替换

使用nodejs替换文件中的多个字符串

Android - 多个视图或运行时片段替换​​?

在 .bat 文件中使用 PowerShell,将一个字符串替换为多个字符串