2017-05-25 126 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需要一個通用的解決方案,可隨時隨地使用隨機數據(不僅與他的問題中的數據)一起使用。您的解決方案非常高效且易於使用。 –

相關問題