[Swift]字符串大小写转换,同时实现本地化或设置语言环境
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
?微信公眾號:山青詠芝(shanqingyongzhi)
?博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
?GitHub地址:https://github.com/strengthen/LeetCode
?原文地址:https://www.cnblogs.com/strengthen/p/9812156.html
?如果鏈接不是山青詠芝的博客園地址,則可能是爬取作者的文章。
?原文已修改更新!強烈建議點擊原文地址閱讀!支持作者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
在NSString中提供了3種字符串大小寫轉換方式:
1. 轉換字符串大小寫
2. 轉換字符串大小寫,并實現本地化
3. 轉換字符串大小寫,并設置語言環境。
一、 轉換字符串大小寫
如果只是想單純的將字符串進行大小寫轉換,可以使用NSString中的3個屬性實現,
Lowercased-將字母轉換為小寫
Uppercased-將字母轉換為大寫
Capitalized-將首字母大寫
(1.1)lowercased屬性是將字符串中的字母全部轉換為小寫字母.
其語法形式:var lowercased: String { get }
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 }
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
二、轉換字符串大小寫,實現本地化
如果不是單純的將字符串進行大小寫轉換,還要實現本地化,此時需要使用到NSString的3個屬性,
localizedLowercase-全部字母轉換為小寫,并實現本地化。
localizedUppercase-部字母轉換為大寫,并實現本地化。
localizedCapitalized-首字母轉換為首字母大寫,并實現本地化。
(2.1)localizedLowercase屬性可以將字符串的的全部字母轉換為小寫,并實現本地化。
其語法形式:var localizedLowercase: String { get }
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屬性可以將字符串的的全部字母轉換為大寫,并實現本地化。
其語法形式: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'
三、轉換字符串大小寫,并設置語言環境
在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"
總結
以上是生活随笔為你收集整理的[Swift]字符串大小写转换,同时实现本地化或设置语言环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xcode 6 如何将 模拟器(simu
- 下一篇: kubernetes的存活探针和就绪探针