前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Swift4 String的用法

Swift4 String的用法

作者头像
码客说
发布2019-10-22 14:36:14
5000
发布2019-10-22 14:36:14
举报
文章被收录于专栏:码客

本文语法为Swift4

获取字符串的长度

代码语言:javascript
复制
let  str = "窗前明月光,疑是地上霜";
let length = str.count;

正则获取字符串

代码语言:javascript
复制
let str = "哈哈[呵呵]嘿嘿"
if let range = str.range(
    of: "\\[[^\\[^\\]]+\\]",
    options: NSString.CompareOptions.regularExpression,
    range: nil,
    locale: nil
    ){
    if(range.lowerBound != range.upperBound){
        let leftStr = String(str[str.startIndex..<range.lowerBound]);
        let midStr = String(str[range]);
        let rightStr = String(str[range.upperBound..<str.endIndex]);
        print("左字符串:\(leftStr)")
        print("中字符串:\(midStr)")
        print("右字符串:\(rightStr)")
    } 
}

打印的结果

代码语言:javascript
复制
左字符串:哈哈
中字符串:[呵呵]
右字符串:嘿嘿

截取字符串

代码语言:javascript
复制
let str = "哈哈[呵呵]嘿嘿"
let subStr = str[str.index(of: "[")!..<str.index(after: str.index(of: "]")!)]
print("截取的字符串为:\(subStr)")

打印的结果

代码语言:javascript
复制
截取的字符串为:[呵呵]

替换字符串

代码语言:javascript
复制
let str = "ABcdeAB"
let result = str.replacingOccurrences(of: "AB", with: "ab")
print("替换后:\(result)")

打印的结果

代码语言:javascript
复制
替换后:abcdeab

正则替换字符串

代码语言:javascript
复制
let str = "[哈哈]猪头[害羞]开心[哈哈]"
var tempStr = str;
var isContans = true
while isContans {
    if let range = tempStr.range(
        of: "\\[[^\\[^\\]]+\\]",
        options: NSString.CompareOptions.regularExpression,
        range: nil,
        locale: nil){
        tempStr = tempStr.replacingCharacters(in: range, with: "(表情)")
        print("替换中:\(tempStr)")
    }else{
        isContans = false;
    }
}
print("替换后:\(tempStr)")

打印的结果

代码语言:javascript
复制
替换中:(表情)猪头[害羞]开心[哈哈]
替换中:(表情)猪头(表情)开心[哈哈]
替换中:(表情)猪头(表情)开心(表情)
替换后:(表情)猪头(表情)开心(表情)

是否包含

代码语言:javascript
复制
let str = "哈哈[呵呵]嘿嘿"
let result1 = str.contains("呵呵")
let result2 = str.starts(with: "哈哈")
let result3 = str.hasPrefix("哈哈")
let result4 = str.hasSuffix("嘿嘿")
print("是否包含:\(result1)")
print("是否前缀为XX:\(result2)")
print("是否前缀为XX:\(result3)")
print("是否后缀为XX:\(result4)")

打印的结果

代码语言:javascript
复制
是否包含:true
是否前缀为XX:true
是否前缀为XX:true
是否后缀为XX:true

分割字符串

代码语言:javascript
复制
let str = "哈哈,呵呵,嘿嘿"
let result = str.split(separator: ",")
print("结果:\(result)")

打印的结果

代码语言:javascript
复制
结果:["哈哈", "呵呵", "嘿嘿"]

获取子字符串

代码语言:javascript
复制
let str = "哈哈,呵呵,嘿嘿"
let result1 = str[..<String.Index.init(encodedOffset: 2)]
let result2 = str[String.Index.init(encodedOffset: 6)..<str.endIndex]
print("结果1:\(result1)")
print("结果2:\(result2)")

打印的结果

代码语言:javascript
复制
结果1:哈哈
结果2:嘿嘿

字符串合并

代码语言:javascript
复制
let str = "哈哈,呵呵,嘿嘿"
let result = str.split(separator: ",").joined(separator: ";")
print("结果:\(result)")

打印的结果

代码语言:javascript
复制
结果:哈哈;呵呵;嘿嘿

字符串格式化

代码语言:javascript
复制
let duration = 80
let result = String.init(format: "%02d:%02d", duration / 60,duration % 60);
print("格式化后:\(result)")

打印的结果

代码语言:javascript
复制
格式化后:01:20

字符串大小写

代码语言:javascript
复制
let str = "ABcde"
let result1 = str.uppercased()
let result2 = str.lowercased()
print("大写:\(result1)")
print("小写:\(result2)")

打印的结果

代码语言:javascript
复制
大写:ABCDE
小写:abcde
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 获取字符串的长度
  • 正则获取字符串
  • 截取字符串
  • 替换字符串
  • 正则替换字符串
  • 是否包含
  • 分割字符串
  • 获取子字符串
  • 字符串合并
  • 字符串格式化
  • 字符串大小写
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档