swift中character字符与string字符串的使用
2016-09-18 14:21
267 查看
github学习地址:https://github.com/potato512/SYSwiftLearning
// 字符(注意:字符中只能有一个字符,不能有两个及以上)
let charA:Character = "A"
print(charA)
// 字符转换成字符串
let valid = String(charA)
print(valid)
// 获取字符串中指定索引处的字符
let charName = valid[valid.startIndex]
print(charName)
// 字符串转换成字符
for charTmp in valid.characters
{
print("char = \(charTmp)")
}
字符串的初始化
// 1 使用字符串字面量
var name = "DevZhang"
print(name)
// 2 String 实例化
name = String("Hello, DevZhang")
print(name)
// 3 格式化
let workAge = 10
var workAgeString = "\(workAge)"
print(workAgeString)
// 4
workAgeString = String(format: "%d", arguments: [workAge])
print(workAgeString)
字符串索引:index不能用整数操作
var nameIndex = name[name.startIndex]
print("name index = \(nameIndex)")
nameIndex = name[name.startIndex.advancedBy(2)]
print("name index = \(nameIndex)")
nameIndex = name[name.endIndex.advancedBy(-1)]
print("name index = \(nameIndex)")
字符串的操作
1、拼接
// 拼接字符串:+
name = name + ".where are you from?"
print(name)
// 拼接字符:append
let nameChar:Character = "."
name.append(nameChar)
print(name)
// 数据转字符串:join
let nameArray:[String] = ["123", "234", "345"]
let nameMark:String = ","
name += nameArray.joinWithSeparator(nameMark)
print("拼接:name = \(name)")
2、插入
// 插入字符:插入指定位置
name.insert(".", atIndex: name.endIndex)
print("插入:name = \(name)")
name.insertContentsOf(name.characters, at: name.endIndex)
print("插入:name = \(name)")
3、删除// 删除字符串
let nameDelChar:Character! = name.removeAtIndex(name.startIndex.advancedBy(10))
print("删除:name = \(nameDelChar)")
let range:Range? = name.rangeOfString(".DevZhang")
if range != nil
{
name.removeRange(range!)
}
print("删除:name = \(name)")
name.removeAll()
print("删除:name = \(name)")
name += "hello, devZhang.where are you from?"
4、子字符串
// 是否包含子串
let rangeDevZhang = name.rangeOfString("DevZhang")
if rangeDevZhang != nil
{
print(rangeDevZhang)
let indexStart = rangeDevZhang!.startIndex
let indexEnd = rangeDevZhang!.endIndex
let indexLength = 0 // indexEnd - indexStart
print("index start = \(indexStart), end = \(indexEnd), length = \(indexLength)")
}
else
{
print("不包含")
}
// 截取子字符串substring
name = name.substringFromIndex(name.startIndex.advancedBy(4))
print(name)
name = name.substringToIndex(name.startIndex.advancedBy(30))
print(name)
let rangeName = Range<String.Index>(start: name.startIndex.advancedBy(1), end: name.endIndex.advancedBy(-1))
name = name.substringWithRange(rangeName)
print(name)
5、替换
6、修剪// 字符串修剪trim
let str011 = "DevZhang.\n "
print(str011)
let str012 = str011.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
print(str012)
// 去掉空格
let str013 = str011.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
print(str013)
let charset014 = NSCharacterSet(charactersInString:" \n")
let str015 = str011.stringByTrimmingCharactersInSet(charset014)
print(str015)
7、字符串比较:字符串大小的比较、字符串前缀比较、字符串后缀比较// 1 字符串字符相等:==、>、<、>=、<=、!=
let varA = "Hello, Swift!"
let varB = "Hello, Objective-C!"
// 比较字符串是否相等
if varA == varB
{
print("\(varA) 与 \(varB) 是相等的")
}
else
{
print("\(varA) 与 \(varB) 是不相等的")
}
// 比较字符串是否不相等
if varA != varB
{
print("\(varA) 与 \(varB) 不相等")
}
else
{
print("\(varA) 与 \(varB) 相等")
}
// 比较字符串的大小(两个字符串的字母逐一比较)
if varA > varB
{
print("\(varA) 大于 \(varB)")
}
else
{
print("\(varA) 小于 \(varB)")
}
8、大小写// 首字母大写
str041 = str041.capitalizedString
print(str041)
// 首字母小写
// str041 = str041.localizedCapitalizedString
// print("首字母小写\(str041)")
// 字符串小写转换大写
name = name.uppercaseString
print(name)
name = name.lowercaseString
print(name)
9、遍历// 字符遍历
print("字符遍历")
for char in name.characters
{
print(char)
}
// unicode遍历:utf8、utf16、unicodeScalars
print("unicode遍历")
for code in name.unicodeScalars
{
print(code)
}
10、长度:字符的个数// 字符串长度
let lengthName = name.characters.count
print("\(name) 的长度是 \(lengthName)")
字符串转基础数据类型
// 数值型字符串转换成Int/Long/Float/Double/Bool等(注意:转换值必须添加optional选项" ! ",或" ? ")
let moneyStr:String = String("3025.56")
let moneyNum01:Float! = Float(moneyStr)
print(moneyNum01)
let moneyNum02:Double! = (moneyStr as NSString).doubleValue
print(moneyNum02)
let moneyNum03:String = "1000"
let moneyNum04:Int32 = (moneyNum03 as NSString).intValue
print(moneyNum04)
let validText:String = "true"
let isValid:Bool! = (validText as NSString).boolValue
print(isValid)
字符串转数组
字符串转Data
// 字符(注意:字符中只能有一个字符,不能有两个及以上)
let charA:Character = "A"
print(charA)
// 字符转换成字符串
let valid = String(charA)
print(valid)
// 获取字符串中指定索引处的字符
let charName = valid[valid.startIndex]
print(charName)
// 字符串转换成字符
for charTmp in valid.characters
{
print("char = \(charTmp)")
}
字符串的初始化
// 1 使用字符串字面量
var name = "DevZhang"
print(name)
// 2 String 实例化
name = String("Hello, DevZhang")
print(name)
// 3 格式化
let workAge = 10
var workAgeString = "\(workAge)"
print(workAgeString)
// 4
workAgeString = String(format: "%d", arguments: [workAge])
print(workAgeString)
字符串索引:index不能用整数操作
var nameIndex = name[name.startIndex]
print("name index = \(nameIndex)")
nameIndex = name[name.startIndex.advancedBy(2)]
print("name index = \(nameIndex)")
nameIndex = name[name.endIndex.advancedBy(-1)]
print("name index = \(nameIndex)")
字符串的操作
1、拼接
// 拼接字符串:+
name = name + ".where are you from?"
print(name)
// 拼接字符:append
let nameChar:Character = "."
name.append(nameChar)
print(name)
// 数据转字符串:join
let nameArray:[String] = ["123", "234", "345"]
let nameMark:String = ","
name += nameArray.joinWithSeparator(nameMark)
print("拼接:name = \(name)")
2、插入
// 插入字符:插入指定位置
name.insert(".", atIndex: name.endIndex)
print("插入:name = \(name)")
name.insertContentsOf(name.characters, at: name.endIndex)
print("插入:name = \(name)")
3、删除// 删除字符串
let nameDelChar:Character! = name.removeAtIndex(name.startIndex.advancedBy(10))
print("删除:name = \(nameDelChar)")
let range:Range? = name.rangeOfString(".DevZhang")
if range != nil
{
name.removeRange(range!)
}
print("删除:name = \(name)")
name.removeAll()
print("删除:name = \(name)")
name += "hello, devZhang.where are you from?"
// 字符串删除指定字符串 var str041 = "My name is DevZhang, your name is DevTang" print(str041) // let rangeRemove = Range<String.Index>str041.rangeOfString("DevZhang") // str041.removeRange(rangeRemove) str041 = str041.stringByReplacingOccurrencesOfString("DevTang", withString: "") print(str041)
4、子字符串
// 是否包含子串
let rangeDevZhang = name.rangeOfString("DevZhang")
if rangeDevZhang != nil
{
print(rangeDevZhang)
let indexStart = rangeDevZhang!.startIndex
let indexEnd = rangeDevZhang!.endIndex
let indexLength = 0 // indexEnd - indexStart
print("index start = \(indexStart), end = \(indexEnd), length = \(indexLength)")
}
else
{
print("不包含")
}
// 截取子字符串substring
name = name.substringFromIndex(name.startIndex.advancedBy(4))
print(name)
name = name.substringToIndex(name.startIndex.advancedBy(30))
print(name)
let rangeName = Range<String.Index>(start: name.startIndex.advancedBy(1), end: name.endIndex.advancedBy(-1))
name = name.substringWithRange(rangeName)
print(name)
5、替换
// 字符串替换replace(当withString为空字符串时,相当于删除) var str031 = "My name is DevZhang" let rangeReplace = Range(start: str031.startIndex, end: str031.startIndex.advancedBy(2)) str031.replaceRange(rangeReplace, with: "Your") print(str031) var str032 = "hello, DevZhang." str032 = str032.stringByReplacingOccurrencesOfString("DevZhang", withString: "zhangshaoyu") print(str032) str032 = str032.stringByReplacingOccurrencesOfString("zhangshaoyu", withString: "DevZhang", options: NSStringCompareOptions.CaseInsensitiveSearch, range: nil) print(str032)
6、修剪// 字符串修剪trim
let str011 = "DevZhang.\n "
print(str011)
let str012 = str011.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
print(str012)
// 去掉空格
let str013 = str011.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
print(str013)
let charset014 = NSCharacterSet(charactersInString:" \n")
let str015 = str011.stringByTrimmingCharactersInSet(charset014)
print(str015)
7、字符串比较:字符串大小的比较、字符串前缀比较、字符串后缀比较// 1 字符串字符相等:==、>、<、>=、<=、!=
let varA = "Hello, Swift!"
let varB = "Hello, Objective-C!"
// 比较字符串是否相等
if varA == varB
{
print("\(varA) 与 \(varB) 是相等的")
}
else
{
print("\(varA) 与 \(varB) 是不相等的")
}
// 比较字符串是否不相等
if varA != varB
{
print("\(varA) 与 \(varB) 不相等")
}
else
{
print("\(varA) 与 \(varB) 相等")
}
// 比较字符串的大小(两个字符串的字母逐一比较)
if varA > varB
{
print("\(varA) 大于 \(varB)")
}
else
{
print("\(varA) 小于 \(varB)")
}
// 2 字符串前缀相等:hasPrefix if name.hasPrefix("Hello") { print("有对应的 Hello 前缀") } else { print("没有对应的 Hello 前缀") }
// 3 字符串后缀相等:hasSuffix if name.hasSuffix("from") { print("有对应的 from 后缀") } else { print("没有对应的 from 后缀") }
8、大小写// 首字母大写
str041 = str041.capitalizedString
print(str041)
// 首字母小写
// str041 = str041.localizedCapitalizedString
// print("首字母小写\(str041)")
// 字符串小写转换大写
name = name.uppercaseString
print(name)
name = name.lowercaseString
print(name)
9、遍历// 字符遍历
print("字符遍历")
for char in name.characters
{
print(char)
}
// unicode遍历:utf8、utf16、unicodeScalars
print("unicode遍历")
for code in name.unicodeScalars
{
print(code)
}
10、长度:字符的个数// 字符串长度
let lengthName = name.characters.count
print("\(name) 的长度是 \(lengthName)")
字符串转基础数据类型
// 数值型字符串转换成Int/Long/Float/Double/Bool等(注意:转换值必须添加optional选项" ! ",或" ? ")
let moneyStr:String = String("3025.56")
let moneyNum01:Float! = Float(moneyStr)
print(moneyNum01)
let moneyNum02:Double! = (moneyStr as NSString).doubleValue
print(moneyNum02)
let moneyNum03:String = "1000"
let moneyNum04:Int32 = (moneyNum03 as NSString).intValue
print(moneyNum04)
let validText:String = "true"
let isValid:Bool! = (validText as NSString).boolValue
print(isValid)
字符串转数组
// 字符串的分解子串split,即转换成数组 let str021 = "boy, girl, man, woman" print(str021) let str021Array = str021.componentsSeparatedByString(",") print(str021Array) let str022 = "boy,girl,man 10 20 30" print(str022) let charset023 = NSCharacterSet(charactersInString:", ") print(charset023) let str022Array = str022.componentsSeparatedByCharactersInSet(charset023) print(str022Array)
字符串转Data
// 字符串转换成NSData let str061:String = "String to encode data" print(str061) let data = str061.dataUsingEncoding(NSUTF8StringEncoding) print(data)
相关文章推荐
- swift中字符与字符串(Character和String)
- 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
- 【C语言】编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。
- swift中string字符串的使用
- 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中 的字符串操作函数。
- //4. 编写一个函数reverse_string(char * string)(递归实现) //实现:将参数字符串中的字符反向排列。 //要求:不能使用C函数库中的字符串操作函数。
- swift--Swift中String和Character的使用与总结
- Swift3 - String 字符串、Array 数组、Dictionary 字典的使用
- 387.leetcode First Unique Character in a String(easy)[统计字符串字符次数]
- C# 使用String.Join 和 Distinct 方法 去除字符串中重复字符
- 编写一个函数reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。
- swift中String和Character的使用与总结
- 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数
- sizeof("string") 以及字符数组使用字符串初始化
- swift--字符串String的使用
- 【c语言】编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数
- mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符,可使用本函数来预防数据库攻击。
- swift中字符串下标的使用String.Index
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用 10 号功能调用。)放在 STRING 中,试 编制一个程序测试字符串中是否存在数字。如有,则把 CL 的第 5 位置 1,否则将该位置置 0。
- string 字符串使用 - 字符处理方法