【问题标题】:Conversion of a specific character in a string to Upper Case将字符串中的特定字符转换为大写
【发布时间】:2015-02-10 18:53:10
【问题描述】:

如何将字符串中的特定字母,即'ahdhkhkahfkahafafkh' 中的所有as 转换为大写?

我似乎只能找到将第一个单词或整个字符串大写/小写的方法。

【问题讨论】:

    标签: python string uppercase


    【解决方案1】:

    您可以将str.translatestring.maketrans 一起使用:

    >>> import string
    >>> table = string.maketrans('a', 'A')
    >>> 'abcdefgahajkl'.translate(table)
    'AbcdefgAhAjkl'
    

    如果你想用它们的大写版本替换'a''b',这真的很棒......然后你只需更改翻译表:

    table = string.maketrans('ab', 'AB')
    

    或者,如果你真的只是在做一对一的交换,你可以使用str.replace

    >>> 'abcdefgahajkl'.replace('a', 'A')
    'AbcdefgAhAjkl'
    

    当您只有一个替代品时,此方法会大放异彩。它替换子字符串而不是字符,所以'Bat'.replace('Ba', 'Cas') -> 'Cast'

    【讨论】:

    • 为什么这比 .replace() 更好?
    • 谢谢!我有替换功能我只是没有使用'a','A',部分!
    • @Finlandia_C 供将来参考,这应该包含在您的问题中。展示你尝试过的东西,它给了你什么,以及你想要什么。
    【解决方案2】:
    'banana'.replace('a', "A")
    

    来自文档:https://docs.python.org/2/library/string.html#string.replace

    【讨论】:

      【解决方案3】:
      >>> a = 'ahdhkhkahfkahafafkh'
      >>> "".join(i.upper() if i == 'a' else i for i in a)
      'AhdhkhkAhfkAhAfAfkh'
      

      或者

      >>> a.replace('a',"A")
      'AhdhkhkAhfkAhAfAfkh'
      

      【讨论】:

        猜你喜欢
        • 2017-05-16
        • 2018-09-16
        • 1970-01-01
        • 2010-10-29
        • 2015-05-02
        • 1970-01-01
        • 1970-01-01
        • 2010-10-18
        相关资源
        最近更新 更多