2017-05-25 87 views
-1

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

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

注:我已经通过了如何发布页面读取和我尽我所能,但我刚开始学习编码时遇到了问题试图制定我的问题。

+0

这可能很容易被回答了谷歌搜索和/或看着python文档。没有什么是个人的,但这对Google来说很简单。 – SH7890

+0

可以理解,但请注意,如果我能先在网上找到答案,我就不会发布此消息。我在许多其他变体中输入了“如何将大写字母改成小写字母,Python”,但找不到合适的语法。这是我第一周尝试编码,我不知道在这个例子中,我应该在哪里使用括号来表示函数,点或者两者。对于那些以此为生的人来说,适应其他答案似乎很容易,但许多初学者会发现很难解释不是特定于他们问题的代码。 – user88720

回答

2

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

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

很好地做了这个技巧,谢谢 – user88720

1

为了得到你想要的数据,你可以做这样的事情:

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

与使用内置的'str.replace()'方法相比,将字符串拆分并重新组合在一起效率相当低下,并且您的解决方案将* *连续的空格字符(包括制表符和换行符)替换为*单*下划线(这可能是OP想要的,但不是他们要求的)。 –

+0

是的你是对的。但我认为OP需要一个通用的解决方案,可随时随地使用随机数据(不仅与他的问题中的数据)一起使用。您的解决方案非常高效且易于使用。 –

相关问题