一.去除首尾的空格
    /** 1.去除首尾的空格*/
NSString *strMsg=@" 简书作者:CoderZb ";
NSString *strResult = [strMsg stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"去除空格前:%@",strMsg);
NSLog(@"去除空格后:%@",strResult);

去除首尾空格.png

二.去除连续的字符集
    /** 2.去除指定的字符集*/
NSString *strMsg2=@"简书作者:CoderZb";
id cs= [NSCharacterSet characterSetWithCharactersInString:@"简书作者:"];
NSString *strResult2=[strMsg2 stringByTrimmingCharactersInSet:cs];
NSLog(@"去除之后的结果:%@",strResult2);

去除连续的字符集.png

三.去除任意的字符集(连续、非连续都可)
    /** 3.删除任意的字符集*/
NSString *strMsg=@"简书作者:CoderZb";
NSCharacterSet *cs= [NSCharacterSet characterSetWithCharactersInString:@"简者Cdb"];
NSMutableString *theString=[NSMutableString stringWithString:strMsg];// 将strMsg变为可变字符串
NSString *strResult= [self clearnIllegitCharacters:theString andCharacterSet:cs];
NSLog(@"删除任意的字符集的结果:%@",strResult); // 清除敏感词语
- (NSString *)clearnIllegitCharacters:(NSMutableString *)originString andCharacterSet:(NSCharacterSet *)cs{ NSString *strResult=nil;
NSRange range2;
do {
range2=[originString rangeOfCharacterFromSet:cs options:NSLiteralSearch];
if (range2.location!=NSNotFound) {// range2.location不为NSNotFound,就执行{} // [originString deleteCharactersInRange:range2];// 删除range2代表的字符集
[originString replaceCharactersInRange:range2 withString:@"*"];// 用星号替换掉range2代表的字符集
}
} while (range2.location!=NSNotFound);// range2.location不为NSNotFound,就执行do{},直至等于NSNotFound,就不再执行do{} // 可变字符串变为不可变
strResult=[[NSString alloc] initWithString:originString]; return strResult; }

[originString replaceCharactersInRange:range2 withString:@"*"];// 用星号替换掉range2代表的字符集

用*替换掉字符集.png

[originString deleteCharactersInRange:range2];// 删除range2代表的字符集

删除任意的字符集.png

四.字符串分割(常用)方式1:
    #define kAlphaNum @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"

    NSString *str = @"简书作者:Coder#Z@b";
NSCharacterSet *cs;
// invertedSet方法是取反字符。所以cs的值为:除了kAlphaNum里的字符,其余的任何字符都是cs
cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum] invertedSet];
// 将str按cs分割成数组(既然能分割,说明cs是str的子集,并且cs中的字符不会在str中出现,相当于str中删除了这些字符),最后将数组按照@""分割成字符串
NSString *filtered = [[str componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
NSLog(@"字符串->数组->字符串 %@", filtered);

字符串->数组->字符串.png

四.字符串分割(常用)方式2:
    NSString *str = @"简书作者:Coder#Z@b";
//按@"#简书@作者:"将str分离成数组,然后将数组按@"-"拼接成字符串
NSString *filtered = [[str componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"#简书@作者:"]] componentsJoinedByString:@"-"];
NSLog(@"%@", filtered);

NSCharacterSet去除字符串中的空格、删除指定\任意字符集的更多相关文章

  1. Linux shell去除字符串中所有空格

    Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g'

  2. java 去html标签,去除字符串中的空格,回车,换行符,制表符

    public static String getonerow(String allLine,String myfind)     {                           Pattern ...

  3. Python编写“去除字符串中所有空格”

    #利用迭代操作,实现一个trim()函数,去除字符串中所有空格 def trim(str): newstr = '' for ch in str: #遍历每一个字符串 if ch!=' ': news ...

  4. IOS NSCharacterSet 去除NSString中的空格

    去除 username中的空格,table newline,nextline 代码如下: NSCharacterSet *whitespace = [NSCharacterSet  whitespac ...

  5. NSCharacterSet 去除NSString中的空格

    转自:http://blog.sina.com.cn/s/blog_5421851501014xif.html 去除 username中的空格,table newline,nextline 代码如下: ...

  6. javascript去除字符串中的空格

    使用JavaScript去除字符串的空格,可以有两种方法,一种是使用replace()方法将空格(空白符)替换为空串,一种就是使用trim()方法去除字符串两端的空白字符. replace()方法 r ...

  7. JS 去除字符串中的空格

    1. 去掉字符串前后所有空格: 代码如下: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } 说明: ...

  8. Java去除字符串中的空格

    特别注意了 Strim或者Trip都是只能去除头部和尾部的空字符串.中间的部分是不能够去除的! 推荐使用ApacheCommonse的StringUtils.deleteWhitespace(&quo ...

  9. 换行符javajava去除字符串中的空格、回车、换行符、制表符

    在改章节中,我们主要介绍换行符java的内容,自我感觉有个不错的建议和大家分享下     每日一道理 只有启程,才会到达理想和目的地,只有拼搏,才会获得辉煌的成功,只有播种,才会有收获.只有追求,才会 ...

随机推荐

  1. jdk及tomcat的安装

    Tomcat和JDK安装指南 1  JDK的安装 要运行JAVA程序,必须安装JDK(JAVA 开发包)的支持. 1.1  安装 1.J2SDK的安装比较简单,在安装盘目录下寻找“JDK安装程序”文件 ...

  2. java基础第七篇之接口

    1.什么是接口: * 接口是方法的集合,而且接口中的方法全是抽象的 * 你可以把接口看成一个特殊的"抽象类",接口中的方法全是抽象的 * * * 2.java中怎么定义接口: * ...

  3. JS高级学习历程-10

    [面向对象] 面向对象的三大特性:封装.继承.多态 封装:在“类”里边有关键字public.protected.private 对成员进行声明,这样每个成员的访问都会受到不同关键字的限制. 继承:在p ...

  4. NET Core中使用Dapper操作Oracle存储过程

    .NET Core中使用Dapper操作Oracle存储过程最佳实践   为什么说是最佳实践呢?因为在实际开发中踩坑了,而且发现网上大多数文章给出的解决方法都不能很好地解决问题.尤其是在获取类型为Or ...

  5. github新手指南

  6. sql 模版

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- ...

  7. Jquery使用ajax参数详解

    记录一下  Jquery使用ajax(post.get及参数详解) 1.get: $.ajax({ type: "GET", url: baseUrl + "Showco ...

  8. Servlet之sendRedirect和getRequestDispatch

    Servlet的请求重定向和请求转发方法的比较分析: 1.getRequestDispatch是属于httpServletRequest对象的方法,请求转发是在同一个请求中完成的,因此整个过程只包含一 ...

  9. 帝国empirecms后台登陆次数限制修改

    打开文件:\e\config\config.php, 找到 'loginnum'=>5, 把5改为自己想要的数字即可

  10. Java中类成员变量初始化顺序

    一. 定义处默认初始化vs构造函数中初始化 java中类成员变量支持在声明处初始化,也可以在构造函数中初始化,那么这两者有什么区别呢?看下面例子 public class FieldsInit { p ...