Swift

在oc中有NSMutableString和NSString两种类型的字符串,但在swift中分别在定义的时候使用let和var来代表是否可以操作。let和var也通用于其他类型。使用let修饰的为不可变,使用var修饰的可变。

1//使用var修饰可以动态的改变值 2 var varStr = "nihao" 3 varStr = "hello" 4 5 //使用let修饰编译不能通过 6 let letStr = "let nihao" 7 letStr = "hello"

常用方法

1、字符串拼接

字符串和字符的值可以通过+号来拼接并创建一个新的字符串

1var varStr = "nihao" 2 varStr = "hello" 3 let letStr = "let nihao" 4 5 var newStr = varStr + letStr 6 print(newStr)

可以通过+=运算符将一个字符串添加到一个已经存在的字符串常量上,当然此字符串必须是var修饰的

1var varStr = "nihao" 2let letStr = "let nihao" 3varStr += letStr 4 print(varStr)

可以同过append附加给字符串一个字符

1var varStr = "nihao" 2 3 let char :Character = "!" 4 varStr.append(char) 5 print(varStr)

2、字符串的带入

将需要操作的变量或者常量用()包住,并在前面带上\符

1let number = 5 2let str = "\(number) 个人有 \(number * 3) 本书" 3print(str) 4 5输出结果: 65 个人有 15 本书

3、字符串个数

获取字符串个数使用strlen函数

1//字符串个数 2 let str = "ajsdjofijweoifjaowiejfoiaw" 3 let countOfStr = (strlen(str)) 4 print(countOfStr)

4、字符串大小写

1//字符串大小写 2 let normal = "nihao" 3 let uppercaseNormal = normal.uppercaseString 4 print(uppercaseNormal) //结果为:NIHAO 5 let lowercaseNormal = uppercaseNormal.lowercaseString 6 print(lowercaseNormal) //结果为:nihao 7 //首字母大写 8 var str = "hello my name is zjh" 9 let capitalezedStr = str.capitalizedString 10 print(capitalezedStr) //结果为:Hello My Name Is Zjh

5、字符串截取

swift中截取字符串的坐标参数不是int类型,对应的参数为String.index。得创建对应的截取参数

1// 字符串截取 2 let str = "abcdefghijklm" 3 let startIndex = str.startIndex.advancedBy(3) //起始 4 let endIndex = str.endIndex.advancedBy(-2) //结束 5 var range = Range<String.Index>(start: startIndex,end: endIndex) //区域 6 var subString1 = str.substringToIndex(endIndex) 7 var subString2 = str.substringFromIndex(startIndex) 8 var subString3 = str.substringWithRange(range) 9 print(subString1) 10 print(subString2) 11 print(subString3) 12 13 //输出结果 14// abcdefghijk 15// defghijklm 16// defghijk

6、字符串比较

三种:字符串是否相等、前缀或后缀是否相等

1//字符串比较 2 let str1 = "abcdefg.com" 3 let str2 = "abdoil.com" 4 if str1 == str2 { 5 6 print("两者相等") 7 } 8 9 10 //判断前缀 11 if str1.hasPrefix("ab") { 12 13 if str2.hasPrefix("ag") { 14 15 print("两个前缀相等") 16 } 17 } 18 19 //后缀 20 if str1.hasSuffix(".com") { 21 22 if str2.hasSuffix(".com") { 23 24 print("两个后缀相等") 25 } 26 }
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

javascript实践教程-03-变量

本节目标1.掌握声明变量的方式。2.掌握var和let的区别。内容摘要本篇讲解了变量声明的两种方式var和let,并对比var和let声明变量的差别,最后对变量名名称规则进行了总结。阅读时间1015分钟变量基础js中声明变量可以使用var和let关键词。其中var是es5的语法,let是es6的语法。var声明变量var可以用来声明局部变量和全局变

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )