Python将字符串转换为小写,但某些特殊字符串除外

2024-09-29 22:27:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把一个字符串转换成小写,但是如果这个字符串包含一个特殊的单词,它应该保持原样。在

specialwords = ['Special1', 'Special']

假设我们的输入字符串如下:

^{pr2}$

输出应如下所示:

ali is really Special

这是我迄今为止使用的代码。在

def makeUrl(inputString):
    list =  {"ı": "i",
             "I": "ı",
             "İ": "İ",
             "î": "i",
             "Ç": "c",
             "ç": "c",
             " ": "-",
             "ş": "s",
             "Ş": "s",
             "Ğ": "g",
             "ğ": "g",
             "Ü": "u",
             "ü": "u",
             "Ö": "o",
             "ö": "o",
             "!": "",
             "?": "",
             "'": "",
             "“": "",
             "”": "",
             "â": "a"}

    inputString = inputString.encode('utf8', 'replace')

    for letter in list:
        inputString = inputString.replace(letter, liste[letter])
    if "Ali" in inputString:
        return inputString
    else:
        return inputString.lower()

Tags: 字符串inreturnisali单词replacelist
1条回答
网友
1楼 · 发布于 2024-09-29 22:27:38
specialwords = ['Special1', 'Special']
string = "Ali is really Special"

toLower = lambda x: " ".join( a if a in specialwords else a.lower()
            for a in x.split() )

print (toLower(string))
# ali is really Special

如果string中有任何标点符号,可以用一个简单的lambda轻松地将它们去掉:

^{pr2}$

相关问题 更多 >

    热门问题