iOS -Swift 3.0 -String(字符串常规用法)
//
// ViewController.swift
// Swift-String
//
// Created by luorende on 16/9/10.
// Copyright © 2016年 luorende. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// 一、定义字符串
var str1="Hello,Swift." //字符串变量
let str2="Hello,Swift." //字符串常量
let str3=" " //空字符串
let str4 = String() //空字符串
// 二、定义字符
// 格式:变量关键字和常量关键字 变量 : Character = 字符值
// 注意点:字符值 必须用双引号括起来, 必须是一个字符
var char1:Character = "s" //字符变量
let char2:Character = "s" //字符常量
// 字符串和字符的关系:字符串是由N个字符组成的,即字符串是字符的集合。
// 例子:
let str = "ABC" //字符串"ABC" 是有 三个字符组成的分别是 字符”A",字符“B",字符”C"
print("str=\(str)")
// 三、字符串与字符串的拼接、字符串与字符的拼接
// 字符串和字符的值可以通过加法运算符 (+) 相加在一起并创建一个新的字符串值:
let string1 = "Hello"
let string2 = " Swift"
let character1: Character = "!"
let character2: Character = "?"
let stringAndCharacter = string1 + String(character1) // 等于 "Hello!"
let stringAndString = string1 + string2 // 等于 "Hello Swift"
let characterAndString = String(character1) + string1 // 等于 "!Hello"
let characterAndCharacter = String(character1) + String(character2) // 等于 "!?"
// 也可以通过加法赋值运算符 (+=) 将一个字符串或者字符添加到一个已经存在字符串变量上:
var studying = "study my"
studying += string2
// studying 现在等于 "study my Swift"
var welcome = "good morning"
welcome += String(character1)
// welcome 现在等于 "good morning!"
// 注意:不能将一个字符串或者字符添加到一个已经存在的字符变量上,因为字符变量只能包含一个字符。
// 字符串与其它类型值的连接
let xx=
let yy=10.8
let str1="\(xx)+\(yy)=?"
print(str1) //str1="10+10.8=?"
let str2=String(format: "%i+%.1f=?", xx, yy)
print(str2) //str2="10+10.8=?"
// 四、字符串的(插值)插入
// 字符串插值是一种全新的构建字符串的方式,可以在其中包含常量、变量、字面量和表达式。插入的字符串字面量的每一项都被包裹在以反斜线为前缀的圆括号中:
let multiplier =
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"
print(message) // message is --> "3 times 2.5 is 7.5"
// 反斜杠表示插入的意思
// 在上面的例子中,multiplier 作为 \(multiplier) 被插入到一个字符串字面量中。当创建字符串执行插值计算时此占位符会被替换为 multiplier 实际的值。
// multiplier 的值也作为字符串中后面表达式的一部分。该表达式计算 Double(multiplier) * 2.5 的值并将结果 (7.5) 插入到字符串中。在这个例子中,表达式写为 \(Double(multiplier) * 2.5) 并包含在字符串字面量中。
// 注意:您插值字符串中写在括号中的表达式不能包含非转义双引号 (") 和反斜杠 (\),并且不能包含回车或换行符。
// 五、字符串比较
let str1="Hello,"
let str2="Swift."
let str3="Hello,Swift."
let comp1 = str1==str2 //false ---> 不等于
print(comp1)
let comp2 = str1+str2 == str3 //true ---> 等于
print(comp2)
let comp3 = str1 < str2 //true ---> 等于
print(comp3)
let comp4 = str1 != str2 //true ---> 等于
print(comp4)
// 六、字符串长度的计算
let str="Hello,Swift."
// let len1=count(str) //swift 1.2
print(len2) //len1=12
let len2=str.characters.count //swift 2.0
print(len2) //len2=12
// 七、查找字符串是否包含子串Swift
let str1="Hello,Swift."
let str2="Swift"
let range=str1.rangeOfString(str2)
if range != nil{
//包含
}
// 七、查找字符串indexof
let str="Hello,Swift."
// let range=str.rangeOfString("Swift",options:NSStringCompareOptions.allZeros) //Swift 1.2
let range=str.rangeOfString("Swift", options: NSStringCompareOptions()) //Swift 2.0
let strIndex=range?.startIndex
print(strIndex) //startIndex=3
// 八、字符串大小写
//首字母大写capitalized
let str1="mandarava is a flower."
str1.capitalizedString
print(str1) //str1="Mandarava Is A Flower.
//转换为大写字母uppercase
var str2="hello, mandarava."
str2=str2.uppercaseString
print(str2)//str1="HELLO, MANDARAVA."
//转换为小写字母lowercase
var str3="HELLO, MANDARAVA."
str3=str3.lowercaseString
print(str3)//str1="hello, mandarava."
// 九、字符串分割与打断
let str1="boy, girl, man, woman"
let str1Array=str1.componentsSeparatedByString(",")
print(str1Array) //str1Array=["boy", " girl", " man", " woman"]
let str2="boy,girl,man 10 20 30"
let charset=NSCharacterSet(charactersInString:", ")
let str2Array=str2.componentsSeparatedByCharactersInSet(charset)
print(str2Array) //str2Array=["boy", "girl", "man", "10", "20", "30"]
// 十、字符串的转换(string转换为Int/Long/Float/Double/Bool等)
let str1=""
// var i=str1.toInt()! //Swift 1.2
//=100
let i=(str1 as NSString).integerValue //Swift 2.0
print(i) //=100
let j=(str1 as NSString).intValue
print(j) //=100
let l=(str1 as NSString).longLongValue
print(l) //=100
let str2="10.8"
let f=(str2 as NSString).floatValue
print(f) //=10.8
let d=(str2 as NSString).doubleValue
print(d) //=10.8
let str3="true"
let b=(str3 as NSString).boolValue //=true
print(b) //=true
// 十一、字符串的遍历 (for in)
// 说明: for in 是一个遍历语句
/**
1: for 后面跟临时变量 in 后面跟数组
2: 临时变量 不需要定义, 编译器成自动生成一个临时变量
3:for in 会遍历字符集合,然后把每个集合赋值临时变量
*/
let A = "ABC"
/*
1:str 是字符串变量 是字符集合
2:temp是临时变量
3:for in 会遍历 字符集合,然后把每个集合赋值临时变量temp
*/
// Swift 1.2
// for temp in str{
// print(temp)
// }
// Swift 2.0
for temp in A.characters {
print(temps)
}
/**
运行结果
A
B
C
*/
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
iOS -Swift 3.0 -String(字符串常规用法)的更多相关文章
- iOS -Swift 3.0 -for(循环语句用法)
// // ViewController.swift // Swift-循环语句 // // Created by luorende on 16/12/08. // Copyright © 2016年 ...
- 读懂Swift 2.0中字符串设计思路的改变
Swift提供了一种高性能的,兼容Unicode编码的String实现作为标准库的一部分.在 Swift2中,String类型不再遵守CollectionType协议.在以前,String类型是字符的 ...
- iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)
// // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...
- swift 2.0 语法 字符串
//: Playground - noun: a place where people can play import UIKit /*: 字符串 * OC中的字符串是一个对象, Swift中的字符串 ...
- iOS -Swift 3.0 -UILabel属性大全
昨天研究了一下苹果近两年新出的Swift语言,感觉学起来并不是很吃力,毕竟自己有过Objective-C的语言功底,所以各方面的属性控件还是一眼就可以认出的,只是Swift的写法与Objective- ...
- iOS -Swift 3.0 -UIButton属性大全
// // ViewController.swift // Swift-UIButton // // Created by luorende on 16/9/9. // Copyright © ...
- Swift 2.0 单例的用法
单例我们项目中是很常用的,今天刚学了在swift中怎么写单例和调用单例.下面我们简单的介绍一下.我们先看看Swift单例的写法: import UIKit class Shareinstance: N ...
- GridView的常规用法
GridView控件在Asp.net中相当常用,以下是控件的解释,有些是常用的,有些是偶尔用到的,查找.使用.记录,仅此而已.(最后附带DropDownList控件) ASP.NET中GridView ...
- iOS - Swift String 字符串
前言 public struct String public class NSString : NSObject, NSCopying, NSMutableCopying, NSSecureCodin ...
随机推荐
- C语言 可变参数
一.基础部分 1.1 什么是可变长参数 可变长参数:顾名思义,就是函数的参数长度(数量)是可变的.比如 C 语言的 printf 系列的(格式化输入输出等)函数,都是参数可变的.下面是 printf ...
- memcached学习笔记2--安装及命令
学习memcached的原理: 用户一 -> 访问浏览器 -> 服务器Apache -> PHP文件(该文件应用了memcached技术) -> [第一次]到数据库DB中查找数 ...
- redis 应用场景
1.string类型 : 图片和视频文件,静态文件 2.list 双向链表:回帖ID,我的关注列表,消息队列 length = redis.lpush('users:newest', 'user:go ...
- a bitwise operation 广告投放监控
将随着时间不断增大的数字N个依次编号为1到N的N个球,颜色每次随机为红黑蓝,时间上先后逐个放入篮子中,计算离现在最近的24个球的红.黑.蓝颜色数 广告投放监控 a bitwise operation ...
- var wi = 0; wi < arr.length; wi++
思维 <?php$w = 123;$wb = $w;$w = 456;echo $wb;?><script type="text/javascript"> ...
- 【转】Unity 之 移动设备的触控操作
http://blog.csdn.net/anyuanlzh/article/details/18367941 这篇博文将简单的记录,如何用unity处理在移动设备上的触控操作. iOS和And ...
- [daily][device] linux挂载iphone
头几个月去旅游,亲戚的iphone照了好多照片,空间不足.就备份在了我的电脑上. 那么问题就是如何在linux系统里挂载iphone? 我找到了这篇文档,然而我没看. https://wiki.arc ...
- [qemu] 在前端驱动使用virtio的情况下,如何让后端使用vhost-user [未解决]
首先,如果你更关心原理和知识,请读读这个 http://chuansong.me/n/2186528 (值得细细的逐字读). 在<<深入浅出dpdk>>中提到,vhost-us ...
- CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决
Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...
- MVC3中几个小知识点
1.ViewBag.Name~ViewBag.name等价,即不区分大小写.在此小心,下次见到不要奇怪,不过最好还是写成一样的比较好. 2.JS字符串不允许有换行符,\'等字符,需提前处理.