我有字符串1. california
,我需要閱讀1. California
。在我看來,這樣做的正確方法是剝離1.
,String#capitalize
,並重新添加1.
,但我無法弄清楚。如何修剪,大寫和重新添加修剪後的字符?
回答
相反條(其移除前導,尾隨字符),split字符串兩個部分,並且利用所述字部分,則join:
num, word = '1. california'.split(nil, 2) # split into two parts.
# => ["1.", "california"]
[num, word.capitalize].join(' ')
# => "1. California"
num, word = '2. los angeles'.split(nil, 2) # split into two parts.
# => ["2.", "los angeles"]
[num, word.capitalize].join(' ')
# => "2. Los angeles"
或使用正則表達式(String#sub
):
"1. california".sub(/[a-z]/i, &:upcase)
# => "1. California"
"2. los angeles".sub(/[a-z]/i, &:upcase)
# => "2. Los angeles"
UPDATE
如果你想要capit ALIZE所有單詞:
"2. los angeles".split.map(&:capitalize).join(' ')
# => "2. Los Angeles"
"2. los angeles".gsub(/\b[a-z]/i, &:upcase) # gsub with modified regex.
# => "2. Los Angeles"
"1. california".split(" ").first + " " + "1. california".split(" ").last.capitalize`
可以使用split
方法。拆分字符串分爲兩個部分如下
str = '1. california'.split
然後使用join
和capitalize
方法,並再次加入他們的行列如下:
[str[0],str[1].capitalize].join(' ')
s = "1. california"
s.split.map(&:capitalize).join(" ") #=> 1.California
s2 = "2. los angeles"
s2.split.map(&:capitalize).join(" ") #=> 2. Los Angeles
這裏是一個正則表達式的版本:
a = '1. california'
first_letter = /[[:alpha:]]/
a[first_letter] = a[first_letter].upcase
你可以從以下的一些想法 1.)
str = "2. los angeles"
array = []
str.split(nil).each{|i| array << i.capitalize}
array.join(" ")
==> "2. Los Angeles"
2)
str = "2. los angeles"
str.split(nil).collect(&:capitalize).join(" ")
==> "2. Los Angeles"
1.9.2p320:045> str =「2. los angeles」 =>「2. los angeles」 1.9.2p320:046> array = [] = > [] 1.9.2p320:047> str.split(nil).each {| i | array << i.capitalize} => [「2.」,「los」,「angeles」] 1.9.2p320:048> array.join(「」) =>「2. Los Angeles」 –
str = 「2. los angeles」 =>「2. los angeles」 1.9.2p320:059> str.split(nil).collect(&:capitalize).join(「」) =>「2. Los Angeles」 1.9.2p320:060> –
- 1. 字符數,然後修剪
- 2. 修剪字符和修剪字符串 - Python
- 3. 修剪字符串
- 4. JavaScript修剪字符
- 5. 修剪字符串
- 6. 修剪字符串
- 7. 修剪字符串
- 8. 如何擴大修剪textBlock
- 9. php修剪功能修剪額外的小於/大於符號
- 10. 修剪的所有字符
- 11. 修剪字符串NHibernate的
- 12. 網址重寫和修剪網址
- 13. 修剪連續重複的字符
- 14. 添加到修剪Linq.Expressions.MemberExpression
- 15. 如何通過符號修剪/剪切java中的字符串?
- 16. 如何修剪BASIC中的字符串?
- 17. 如何修剪字符串的文件
- 18. 如何修剪ClientValidationFunction中的字符串
- 19. 如何修剪StringBuilder的字符串?
- 20. 修剪文字
- 21. 我需要更換我的話修剪成字符修剪
- 22. 如何加快修剪宏
- 23. 修剪大數據
- 24. 修剪和WhiteSpaceTrimmer
- 25. 修剪最後一個字符
- 26. 修剪特殊字符powershell
- 27. 完全修剪字符串
- 28. Swift 3修剪字符
- 29. 修剪字符串在Javascript
- 30. 修剪字符串與Dapper.NET
您可以使用拆分法 – Rinku
這裏的問題是,有與名稱自動做到這一點沒有什麼好辦法。 'capitalize'或'titleize'並不總是夠聰明的:思考如下名字:哥倫比亞特區,里約熱內盧...... – spickermann