【问题标题】:How to change upper case letters to lower case letters and spaces to underscores如何将大写字母更改为小写字母并将空格更改为下划线
【发布时间】:2017-10-26 07:47:07
【问题描述】:

我想将变量中的大写字符串字符更改为小写并将空格替换为“_”。我知道我可以对所有实例使用“if”语句,但这会花费太长时间。它将用户的输入保存到文件名,即

user_selection = 'Barracuda Limited'  # what I have
save_name == 'barracuda_limited'       # what I want

注意:我已通读有关如何发帖的页面,并且正在尽我最大的努力,但我刚刚开始学习编码并且在尝试构建我的问题时遇到了麻烦。

【问题讨论】:

  • 这可以很容易地通过谷歌搜索和/或查看 python 文档来回答。没什么私人的,但谷歌这个很简单。
  • 可以理解,但请注意,如果我能先在网上找到答案,我就不会发布这个了。我在许多其他变体中输入了“如何将大写变为小写,Python”,但找不到要使用的正确语法。这是我尝试编码的第一周,我不知道应该在哪里使用括号来表示函数、点或两者都像这个例子。对于那些以此为生的人来说,调整其他答案似乎很容易,但许多初学者会发现很难解释与他们的问题无关的代码。

标签: python python-2.7 text replace lowercase


【解决方案1】:

这很简单,使用str.lower()str.replace() 方法:

>>> user_selection = 'Barracuda Limited'
>>> save_name = user_selection.lower().replace(' ', '_')
>>> save_name
'barracuda_limited'

【讨论】:

    【解决方案2】:

    为了获得您想要的数据,您可以执行以下操作:

    user_selection = 'Barracuda Limited':
    save_name = "_".join(k.lower() for k in user_selection.split())
    # save_name is: 'barracuda_limited'
    

    【讨论】:

    • 与使用内置的 str.replace() 方法相比,将字符串拆分然后将其重新连接在一起效率非常低,并且您的解决方案将替换 多个 连续的空白字符(包括制表符和换行符)带有 single 下划线(这可能是 OP 想要的,但不是他们要求的)。
    • 是的,你是对的。但我认为 OP 想要一个通用的解决方案,可以随时使用随机数据(不仅是他问题中的数据)。您的解决方案非常高效且易于使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    相关资源
    最近更新 更多