- 字符串简介
- 在OC中定义字符串 @"". Swift中用""(注意点:OC中的字符串是NSString,Swift中的字符串是String)
- OC中的字符串是一个对象,继承于NSObject。Swift中字符串是一个结构体。Swfit中字符串性能比OC中的高
var str: String = "Hello, playground" //定义变量时指定类型
- 定义字符:var charValue: Character = "韩"
- C语言和OC字符串都是以\0结尾的,Swift则不是
//C语言
char *sringValue = "abc\0def"
printf("%s", stringValue);
//打印结果为: abc
//OC
NSString *StringValue = @"abc\0def";
printf("%@", stringValue);
//打印结果为: abc
//Swift
var stringValue2 = "abc\0def"
print(stringValue2)
// 打印结果为:abcdef
var str: String = "love code";
let length = str.count
print("count:\(length)") //count:9
var str2 = "cool"
str += str2
let num = 30
let name = "lnj"
//在Swift中可以使用 \()来格式化
var str3 = "name = \(name), age = \(num)" //打印将输出"name = lnj, age = 30"
//format格式化,所有的值必须放到数组中(数组元素为不同类型)
var str4 = String(format: "name:%@,age:%02d",arguments: ["ZhangSan",13]);
var stringA = ""
if stringA.isEmpty {
print( "stringA 是空的" )
} else {
print( "stringA 不是空的" )
}
//打印结果: stringA 是空的
var str8 = "http://www.blog26.com"
if str8.hasPrefix("www")
{
print("是url")
}
if str8.hasSuffix(".com")
{
print("是顶级域名")
}
//打印结果: 是顶级域名
var str9 = "abc.txt"
print(str9.uppercased())
print(str9.lowercased())
var str10 = "250"
// 如果str不能转换为整数, 那么可选类型返回nil
// str = "250sd", 不能转换所以可能为nil
var numerber:Int? = Int(str10)
if numerber != nil
{
print(numerber!)
}
//在Swift中,如果需要截取字符串,建议使用OC的字符串截取,因为Swift中String的字符串截取方法使用起来非常复杂
//Swift中字符串可以和OC中的字符串非常方便转换
var str5: NSString = "love code";
var str6 = "love code" as NSString;
var subStr = str5.substring(with: NSMakeRange(1, 3)) //输出:ove
网友评论