【问题标题】:Python convert a string to lowercase except some special stringsPython将字符串转换为小写,除了一些特殊的字符串
【发布时间】:2016-10-27 18:07:52
【问题描述】:

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

specialwords = ['Special1', 'Special']

假设我们的输入字符串是这样的:

Ali is really Special.

输出应该是这样的:

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()

【问题讨论】:

  • 我检查特殊词是否在我要转换的字符串中。像这样:` if 'Special' in inputString: return inputString`
  • 请将您尝试过的代码发布到问题本身中。

标签: python string lowercase


【解决方案1】:
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 轻松删除它们:

from string import punctuation
p_strip = lambda x: "".join(w for w in x if w not in punctuation)

string = "Ali is really Special."

# Now `toLower` function should look something like this:
toLower = lambda x: " ".join( a if p_strip(a) in specialwords else a.lower()
    for a in x.split() )

【讨论】:

  • if use string = "阿里真的很特别。"
  • 那么在这种情况下你必须去掉标点符号。
  • 如果需要保留空格
  • 如果我们使用字符串 = What is so Special.about Ali is really Special.
猜你喜欢
  • 2015-02-20
  • 2011-05-01
  • 2017-05-16
  • 2013-03-08
  • 2019-02-17
  • 1970-01-01
  • 2020-01-10
  • 2022-07-21
  • 1970-01-01
相关资源
最近更新 更多