★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/ )
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-tsgmzsej-hq.html
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
在NSString中提供了3種字符串大小寫轉換方式:
1. 轉換字符串大小寫
2. 轉換字符串大小寫,並實現本地化
3. 轉換字符串大小寫,並設置語言環境。git
1、 轉換字符串大小寫
若是隻是想單純的將字符串進行大小寫轉換,能夠使用NSString中的3個屬性實現,
Lowercased-將字母轉換爲小寫
Uppercased-將字母轉換爲大寫
Capitalized-將首字母大寫github
(1.1)lowercased屬性是將字符串中的字母所有轉換爲小寫字母.
其語法形式:var lowercased: String { get }express
1 var str1 = String("STRENGTHEN") 2 var str2 = NSString(string:"STRENGTHEN") 3 //String只可以使用lowercased() 4 //只返回所有小寫,不修改原字符串 5 print(str1.lowercased()) 6 //Print: "strengthen" 7 //String只能用lowercased() 8 //str1.lowercased運行報錯:expression resolves to an unused function 9 10 //NSString只可以使用.lowercased 11 //只返回所有小寫,不修改原字符串 12 print(str2.lowercased) 13 //Print: "strengthen" 14 //NSString只能用lowercased 15 //.lowercased()運行報錯:cannot invoke 'lowercased' with no arguments
(1.2)uppercased屬性是將字符串中的字母所有轉換爲大寫字母。
其語法形式:var uppercased: String { get }api
1 var str1 = String("strengthen") 2 var str2 = NSString(string:"strengthen") 3 //String只可以使用uppercased() 4 //只返回所有大寫,不修改原字符串 5 print(str1.uppercased()) 6 //Print: "STRENGTHEN" 7 //String只能用uppercased() 8 //str1.uppercased運行報錯:expression resolves to an unused function 9 10 //NSString只可以使用.uppercased 11 //只返回所有大寫,不修改原字符串 12 print(str2.uppercased) 13 //Print: "STRENGTHEN" 14 //NSString只能用uppercased 15 //.uppercased()運行報錯:cannot invoke 'uppercased' with no arguments
(1.3)capitalized屬性實現的功能是將字符串中的首字母大寫.
其語法形式:var capitalized: String { get }微信
1 var str1 = String("strengthen") 2 var str2 = NSString(string:"strengthen") 3 //String和NSString都只可以使用capitalized 4 //只返回首字母大寫,不修改原字符串 5 print(str1.capitalized) 6 //Print: "Strengthen" 7 //只返回首字母大寫,不修改原字符串 8 print(str2.capitalized) 9 //Print: "Strengthen" 10 11 //String和NSString都使用capitalized()報錯 12 //str1.capitalized()運行報錯:cannot invoke 'capitalized' with no arguments 13 //str2.capitalized()運行報錯:cannot invoke 'capitalized' with no arguments
2、轉換字符串大小寫,實現本地化
若是不是單純的將字符串進行大小寫轉換,還要實現本地化,此時須要使用到NSString的3個屬性,
localizedLowercase-所有字母轉換爲小寫,並實現本地化。
localizedUppercase-部字母轉換爲大寫,並實現本地化。
localizedCapitalized-首字母轉換爲首字母大寫,並實現本地化。spa
(2.1)localizedLowercase屬性能夠將字符串的的所有字母轉換爲小寫,並實現本地化。code
其語法形式:var localizedLowercase: String { get }htm
1 var str1 = String("STRENGTHEN") 2 var str2 = NSString(string:"STRENGTHEN") 3 //String和NSString都只可以使用localizedLowercase 4 //只返回所有小寫,並實現本地化,不修改原字符串 5 print(str1.localizedLowercase) 6 //Print: "strengthen" 7 //只返回所有小寫,並實現本地化,不修改原字符串 8 print(str2.localizedLowercase) 9 //Print: "strengthen" 10 11 //String和NSString都使用localizedLowercase()報錯 12 //str1.localizedLowercase()運行報錯:cannot call value of non-function type 'String' 13 //str2.localizedLowercase()運行報錯:cannot call value of non-function type 'String'
(2.2)localizedUppercase屬性能夠將字符串的的所有字母轉換爲大寫,並實現本地化。blog
其語法形式:var localizedUppercase: String { get }
1 var str1 = String("strengthen") 2 var str2 = NSString(string:"strengthen") 3 //String和NSString都只可以使用localizedUppercase 4 //只返回所有大寫,並實現本地化,不修改原字符串 5 print(str1.localizedUppercase) 6 //Print: "STRENGTHEN" 7 //只返回所有小寫,並實現本地化,不修改原字符串t 8 print(str2.localizedUppercase) 9 //Print: "STRENGTHEN" 10 11 //String和NSString都使用localizedUppercase()報錯 12 //str1.localizedUppercase()運行報錯:cannot call value of non-function type 'String' 13 //str2.localizedUppercase()運行報錯:cannot call value of non-function type 'String'
(2.3)localizedCapitalized屬性能夠將字符串的首字母轉換爲大寫,並實現本地化。
其語法形式:var localizedCapitalized: String { get }
1 var str1 = String("strengthen") 2 var str2 = NSString(string:"strengthen") 3 //String和NSString都只可以使用localizedCapitalized 4 //只返回首字母大寫,並實現本地化,不修改原字符串 5 print(str1.localizedCapitalized) 6 //Print: "Strengthen" 7 //只返回首字母大寫,並實現本地化,不修改原字符串 8 print(str2.localizedCapitalized) 9 //Print: "Strengthen" 10 11 //String和NSString都使用localizedCapitalized()報錯 12 //str1.localizedCapitalized()運行報錯:cannot call value of non-function type 'String' 13 //str2.localizedCapitalized()運行報錯:cannot call value of non-function type 'String'
3、轉換字符串大小寫,並設置語言環境
在NSString中除了上文中提到的轉換字符串大小寫的屬性外,還存在3個方法能夠實現字符串的大小寫轉換,並將大小寫的改變應用到本地化以後的其餘語言版本中。
lowercased(with:)- 所有字母轉換爲小寫,而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中.
uppercased(with:)- 所有字母轉換爲大寫,而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中.
capitalized(with:)- 首字母轉換爲大小,而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中.
(3.1)lowercased(with:)方法是將字符串中的所有字母轉換爲小寫,而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中。
其語法形式:func lowercased(with locale: Locale?) -> String
其中,locale用來設置語言環境。
1 var str1 = String("STRENGTHEN") 2 var str2 = NSString(string:"STRENGTHEN") 3 var l=Locale.current 4 //所有字母轉換爲小寫 5 //而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中。 6 print(str1.lowercased(with: l)) 7 print(str2.lowercased(with: l)) 8 //Print: "strengthen"
(3.2)uppercased(with:)方法是將字符串中的所有字母轉換爲大寫,而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中。
其語法形式:func uppercased(with locale: Locale?) -> String
其中,locale用來設置語言環境。
1 var str1 = String("strengthen") 2 var str2 = NSString(string:"strengthen") 3 var l=Locale.current 4 //所有字母轉換爲大寫 5 //而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中。 6 print(str1.uppercased(with: l)) 7 print(str2.uppercased(with: l)) 8 //Print: "STRENGTHEN"
(3.3)capitalized(with:)方法是將字符串中的首字母轉換爲大寫,而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中。
其語法形式:func uppercased(with locale: Locale?) -> String
其中,locale用來設置語言環境。
1 var str1 = String("strengthen") 2 var str2 = NSString(string:"strengthen") 3 var l=Locale.current 4 //首字母轉換爲大寫 5 //而且能夠經過設置的語言環境將大小寫的改變應用到本地化以後的其餘語言版本中。 6 print(str1.capitalized(with: l)) 7 print(str2.capitalized(with: l)) 8 //Print: "Strengthen"