Error[8]: Undefined offset: 6, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

0.String 与 NSString

String 与 NSString 之间可以随时随地桥接转换
如果你觉得String的API过于复杂难用,可以考虑将String转为NSString. 使用as转换
oc中的数组和字典都可以抓换到swift,但是swift的不能转换到oc中的可变类型

 var str1: String = "jack"
var str2: NSString = "rose"
var str3 = str1 as NSString
var str4 = str2 as String

var str5 = str3.substring(with: NSRange(location: 0, length: 2)) print(str5)

比较字符串内容是否等价
String使用 == 运算符
NSString使用isEqual方法,也可以使用 == 运算符(本质还是调用了isEqual方法)

1.String

Swift的字符串类型String,跟OC的NSString,在API设计上还是有较大差异

// 空字符串
var emptyStr1 = ""
var emptyStr2 = String()
var str: String = "1" 
// 拼接
 str.append("_2")
// 重载运算符 +
str = str + "_3" // 重载运算符 += 
str += "_4"
// \()插值
str = "\(str)_5"
// 长度,9,1_2_3_4_5 
print(str.count)

var str = "123456" 
//从前面查找
print(str.hasPrefix("123")) // true
//从后面查找
print(str.hasSuffix("456")) // true
2.String的插入和删除
 var str = "1_2"
// 1_2_
str.insert("_", at: str.endIndex)
// 1_2_3_4
str.insert(contentsOf: "3_4", at: str.endIndex)
// 1666_2_3_4
str.insert(contentsOf: "666", at: str.index(after: str.startIndex))
// 1666_2_3_8884
str.insert(contentsOf: "888", at: str.index(before: str.endIndex))
// 1666hello_2_3_8884
str.insert(contentsOf: "hello", at: str.index(str.startIndex, offsetBy: 4))
 // 666hello_2_3_8884
str.remove(at: str.firstIndex(of: "1")!)
// hello_2_3_8884
str.removeAll { let str = """ 1
    "2" 3
'4' 
"""
 == "6" }
var range = str.index(str.endIndex, offsetBy: -4)..
3.Substring

String可以通过下标、 prefix、 suffix等截取子串,子串类型不是String,而是Substring
Substring和它的base,共享字符串数据
Substring发生修改 或者 转为String时,会分配新的内存存储字符串数据

var str = "1_2_3_4_5"
// 1_2
var substr1 = str.prefix(3)
// 4_5
var substr2 = str.suffix(3)
// 1_2
var range = str.startIndex.. String
var str2 = String(substr3)

4.多行String

缩进以结尾的3个引号为对齐线


[+++]
)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
swift5.1学习-12.String和NSString_app_内存溢出

swift5.1学习-12.String和NSString

swift5.1学习-12.String和NSString,第1张

0.String 与 NSString

String 与 NSString 之间可以随时随地桥接转换
如果你觉得String的API过于复杂难用,可以考虑将String转为NSString. 使用as转换
oc中的数组和字典都可以抓换到swift,但是swift的不能转换到oc中的可变类型

 var str1: String = "jack"
var str2: NSString = "rose"
var str3 = str1 as NSString
var str4 = str2 as String

var str5 = str3.substring(with: NSRange(location: 0, length: 2)) print(str5)

比较字符串内容是否等价
String使用 == 运算符
NSString使用isEqual方法,也可以使用 == 运算符(本质还是调用了isEqual方法)

1.String

Swift的字符串类型String,跟OC的NSString,在API设计上还是有较大差异

// 空字符串
var emptyStr1 = ""
var emptyStr2 = String()
var str: String = "1" 
// 拼接
 str.append("_2")
// 重载运算符 +
str = str + "_3" // 重载运算符 += 
str += "_4"
// \()插值
str = "\(str)_5"
// 长度,9,1_2_3_4_5 
print(str.count)

var str = "123456" 
//从前面查找
print(str.hasPrefix("123")) // true
//从后面查找
print(str.hasSuffix("456")) // true
2.String的插入和删除
 var str = "1_2"
// 1_2_
str.insert("_", at: str.endIndex)
// 1_2_3_4
str.insert(contentsOf: "3_4", at: str.endIndex)
// 1666_2_3_4
str.insert(contentsOf: "666", at: str.index(after: str.startIndex))
// 1666_2_3_8884
str.insert(contentsOf: "888", at: str.index(before: str.endIndex))
// 1666hello_2_3_8884
str.insert(contentsOf: "hello", at: str.index(str.startIndex, offsetBy: 4))
 // 666hello_2_3_8884
str.remove(at: str.firstIndex(of: "1")!)
// hello_2_3_8884
str.removeAll { let str = """ 1
    "2" 3
'4' 
"""
 == "6" }
var range = str.index(str.endIndex, offsetBy: -4)..
3.Substring

String可以通过下标、 prefix、 suffix等截取子串,子串类型不是String,而是Substring
Substring和它的base,共享字符串数据
Substring发生修改 或者 转为String时,会分配新的内存存储字符串数据

var str = "1_2_3_4_5"
// 1_2
var substr1 = str.prefix(3)
// 4_5
var substr2 = str.suffix(3)
// 1_2
var range = str.startIndex.. String
var str2 = String(substr3)

4.多行String

缩进以结尾的3个引号为对齐线


					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/996473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)