我是靠谱客的博主 纯情鞋垫,最近开发中收集的这篇文章主要介绍Swift基础 String类型关于字符串,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

关于字符串

在OC中,字符串是NSString类。
而在Swift中,字符串是String结构体。
结构体比起类,性能更好,String结构体支持遍历。
在Swift中,提供了NSString转String的便捷方法。

根据字符串取得类

通过字符串取得类是这么做的:

NSClassFromString(<ClassName: String>)->AnyClass?

从上可以发现,返回的是一个AnyClass类型,并且还是个可选类型。
需要注意的是,在Swift中,我们传入的类型需要包含命名空间,命名空间默认是我们项目名称。
be like:

NSClassFromString("IDB.HomeController")

IDB是我的项目的项目名称,也是就默认的命名空间,HomeController是我想要通过字符串创建的控制器。

这样的方法可以帮助我们后期通过网络请求,来动态加载一些固定View的样式,比如根据节日活动更换图片以及tabbar上title的文字,比如更换成不同的自定义View等等。

遍历字符

在Swift5.0之前,characters属性是可以用的,但在Swift5.0后,该属性就淘汰了。

for subCharacter in string.enumerated(){
print(subCharacter)
}
let characters = string.enumerated()
print(characters)

运行结果:

(offset: 0, element: "h")
(offset: 1, element: "e")
(offset: 2, element: "l")
(offset: 3, element: "l")
(offset: 4, element: "o")
(offset: 5, element: "w")
(offset: 6, element: "o")
(offset: 7, element: "r")
(offset: 8, element: "l")
(offset: 9, element: "d")
EnumeratedSequence<String>(_base: "helloworld")

格式化字符串

在实际开发中,我们常需要用到格式化的字符串,比如08,或者0.8,或者保留两位小数等等。这时我们就需要用到字符串的格式化。

之前Swift还是可以使用String(format: arguments:[ ])方法来进行格式话的,但是后来似乎是被淘汰掉了。

感觉是Swift在字符串的有些方面越改是越复杂,如果大家没有找到好的方法,还是先采用的还是OC时代的一些做法:也就是先用NSString处理,然后再转回String。

let h = 8
let m = 23
let s = 9
let timeString = NSString.init(format: "%02d:%02d:%02d", h,m,s)
print(timeString)

运行结果:

08:23:09

判断是否包含字符


var a = "hello"
if a.contains("hell"){
print("hell")
}

追加字符


var a = "hello"
a.append(" world")
print(a)//运行结果:hello world

插入字符


var a = "hello"
//从0开始算,在3的位置插入“ ”
a.insert(contentsOf:" ", at:a.index(a.startIndex, offsetBy:3))
print(a)//运行结果:hel lo

获取子字符串:


var a = "hello"
//假设我们要获取ell
//则需要先获取起始位置(编号是从0开始的)
var subStringStart = a.index(a.startIndex,offsetBy:1)
//再获取结束位置(编号是从0开始的)
var subStringEnd = a.index(a.startIndex,offsetBy:3)
a = a[subStringStart...subStringEnd]
print(a)

运行结果:


ell

当然也有获取前缀和后缀的方法,就是调用oc的方法,这里就不说明了。


a.prefix(4)//hell

拼接字符串:


var a = "hello"
var b = "world"
a = a + b	//同字符串类型直接拼接
//不同类型的字符串拼接需要用()语法
var c = 11
a = a + "(c)"

循环字符串

好骚的操作


var a = "hello"
for index in a {
print(index)
}

运行结果:

	h
e
l
l
o

其他

被#“和”#包含起来的代码全部会当成字符串处理。


var a = "hello"
//如果输出的时候想要字符串带上引号
var b = #""hello""#
print(b)
//这样b就会输出:"hello"

最后

以上就是纯情鞋垫为你收集整理的Swift基础 String类型关于字符串的全部内容,希望文章能够帮你解决Swift基础 String类型关于字符串所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部