使用Swift去掉字符串中的空格
来源:互联网 发布:生产成本管控数据来源 编辑:程序博客网 时间:2024/06/06 05:40
笔试面试时经常会出这样的问题:从某个字符串中删除多余的空格,因为英文是使用空格进行分词的,而URL中通常会包括非常多的特殊字符,所以这是一种很常用的做法。和OC中一样,在swift中也可以使用NSCharacterSet类来实现。对于字符串删空格操作,通常有两种情况:
1.删掉字符串首位的空格:
var str = " Hello, play ground "let whitespace = NSCharacterSet.whitespaceAndNewlineCharacterSet()str = str.stringByTrimmingCharactersInSet(whitespace)
NSCharacter中有很多方法,可以用来设置不同的筛选条件,这里的whitespaceAndNewlineCharacterSet方法用来表示空格。方法stringByTrimmingCharactersInSet如方法名所示,是用来调整字符串的输出的,传入一个NSCharacter类型。上面的代码效果如下:
可以看到只是去掉了字符串首尾的空格而已。
2.去掉字符串首尾的空格,内部连续空格只保留一个:
这种情况也叫挤压空格,首先依旧执行上面的代码去掉首尾的空格,然后调用另一个方法把字符串存成数组:
var tempArray = str.componentsSeparatedByCharactersInSet(whitespace)
这个方法的作用是在遇到空格的地方把字符串拆开,存入数组,效果如图:
现在字符串中的每一个空格已经单独被存为了数组中的一个元素,然后使用filter删掉这些空格:
tempArray = tempArray.filter{$0 != ""}
现在的tempArray如下:
最后一步把这个数组拼接回正常的字符串,注意这里是挤压并不是删除,删除会影响语序,而挤压只会删除多余的空格,所以在拼接的时候要在原来有空格的地方加上一个空格,使用join方法,注意join的用法比较独特,要想把一个数组拼接成字符串,并使用某些字符来拼接,那么在让用来拼接的字符串调用join方法,传入数组(有点奇怪):
str = " ".join(tempArray)
最终效果:
0 0
- 使用Swift去掉字符串中的空格
- 去掉字符串中的空格
- 去掉字符串中的空格
- 去掉字符串中的空格
- swift字符串去掉空格和换行
- Js 去掉字符串中的空格
- 去掉字符串中的所有空格
- 如何去掉字符串中的空格
- 去掉字符串中的多余空格
- JS去掉字符串中的空格
- 去掉字符串中的所有空格
- 怎样去掉 字符串 中的空格
- lua去掉字符串中的空格
- 去掉字符串中的空格和回车 获取键盘高度 判断字符串是否为空 swift
- iOS字符串 去掉字符串中的空格 回车
- java中如何去掉字符串中的空格
- 去掉字符串String中的换行或空格
- 【JAVA】之【去掉字符串中的空格】
- android中对Bitmap图片设置任意角为圆角
- JAVA基础之复用类
- 常见开源产品epoll网络事件模型分析(附200万QPS实现长连接echo server方案)
- redis实现有序的消息队列
- uva 10410 树重建
- 使用Swift去掉字符串中的空格
- gridcontrol无数据自定义显示及滚动至底部翻页
- 腾讯2015研发笔试大题
- POJ 2763 Housewife Wind 树链剖分
- 学习资源分享,想了解某个协议的基础知识可以去H3C的网站学习,挺好~~
- eclipse为Android应用程序APK生成的私钥文件在哪里?
- Freeland团队暑期实践有感
- mysql出现权限问题无法创建新数据库&启动mysql失败问题,问题解决
- idea启动android项目时找不到已经运行的genymotion虚拟设备解决方案