zoukankan      html  css  js  c++  java
  • iOS 使用NSCharactorSet,过滤再也不用求正则

    虽然网上已有很多写好的正则可以直接套用,但开发中,不乏产品特殊需求

    下面给大家推荐一个类,让过滤变得更加便捷 

    -------  NSCharactorSet

    在ios中 可以使用stringByTrimmingCharactersInSet函数过滤字符串中的特殊符号

    首先我们定义一个NSCharacterSet, 包含需要去除的特殊符号

    NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_\|~<>$€^•'@#$%^&*()_+'""];

    由于NSString中有全角符号和半角符号, 因此有些符号要包括全角和半角的

    然后调用stringByTrimmingCharactersInSet

    NSString *trimStr = [string stringByTrimmingCharactersInSet:set];

    trimmedString就是过滤后的字符串

     
    ---------------------------------------------------------------  举个栗子 
    去除 username中的空格,table newline,nextline 

    代码如下:(三行代码) 
    NSCharacterSet *whitespace = [NSCharacterSet  whitespaceAndNewlineCharacterSet]; 
    NSString * username = [mUsernameField  stringValue]; 
    username = [username  stringByTrimmingCharactersInSet:whitespace]; 



    注释: 

    stringByTrimmingCharactersInSet
    Returns a new string made by removing from both ends of the receiver characters contained in a given character set. 

    whitespaceAndNewlineCharacterSet 
    Returns a character set containing only the whitespace characters space (U+0020) and tab (U+0009) and the newline and nextline characters (U+000A–U+000D, U+0085). 

    另外可以用 whitespaceCharacterSet 替换 whitespaceAndNewlineCharacterSet 区别newline nextline 
    whitespaceCharacterSet 
    Returns a character set containing only the in-line whitespace characters space (U+0020) and tab (U+0009).

    NSString *temptext = [messageTextField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSString *text = [temptext stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]];

    第1行是去除2端的空格

    第2行是去除回车

    参考 :http://blog.sina.com.cn/s/blog_5421851501014xif.html 

  • 相关阅读:
    【JMeter】if语句中不能Failure=false解决办法
    【java】method.invoke(方法底层所属对象/null,new Object[]{实际参数})
    【java设计模式】【行为模式Behavioral Pattern】模板方法模式Template Method Pattern
    【java设计模式】代理模式
    33-算法训练 安慰奶牛
    32-java 里面list的问题
    31-java中知识总结:list, set, map, stack, queue
    30-算法训练 最短路 spfa
    29-算法训练 结点选择-超时了!!!
    28-算法训练 最大最小公倍数 -贪心
  • 原文地址:https://www.cnblogs.com/aaalice/p/4514603.html
Copyright © 2011-2022 走看看