• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[Swift]字符串大小写转换,同时实现本地化或设置语言环境

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ 
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9812156.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

在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"

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode833.字符串中的查找与替换|FindAndReplaceinString发布时间:2022-07-13
下一篇:
iOS学习笔记41-Swift(一)基础部分发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap