• iOS字符串处理


    拼接字符串

    NSString* string; 
    NSString* string1, string2; 
    //方法1.
    string = [NSString initWithFormat:@"%@,%@", string1, string2 ];
    //方法2.(常用)
    string = [string1 stringByAppendingString:string2];
    //方法3 .
    string = [string stringByAppendingFormat:@"%@,%@",string1, string2];
    

     清除字符串 首尾空格及换行符

    //清除首尾空格
    //定义宏
    #define allTrim(object) [object stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
    //调用宏
    NSString *emptyString = @"   ";
    if ([allTrim( emptyString ) length] == 0 ) {
        NSLog(@"Is empty!");
    }
    
    //清除所有空格(替换操作)
    NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withString:@""];
    
    //清除换行字符
    headerData = [headerData stringByReplacingOccurrencesOfString:@"
    " withString:@""];
    headerData = [headerData stringByReplacingOccurrencesOfString:@"
    " withString:@""];
    

    判断空值处理 (null)与 <null>

    //见过最好的解决方法之一, 改进的内联函数,源自Git Hub
    // Check if the "thing" pass'd is empty
    
    static inline BOOL isEmpty(id thing) {
        return thing == nil
        || [thing isKindOfClass:[NSNull class]]
        || ([thing respondsToSelector:@selector(length)]
            && [(NSData *)thing length] == 0)
        || ([thing respondsToSelector:@selector(count)]
            && [(NSArray *)thing count] == 0);
    }
    

     

    //判断UITextField.text是否为空
    用户未进行任何输入的情况下为nil. (yourTextField.text 在最初创建后的值为nil,nil不等于@"")
    [yourTextField.text isEqualToString:@""] || yourTextField.text == nil
    //或者
    yourTextField.text.length == 0
    

     

    //其他方法一
    //判断字符串是否为空
    #define strIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO )
    //方法二
    - (BOOL) isBlankString:(NSString *)string {
    
        if (string == nil || string == NULL) {
            return YES;
        }
        if ([string isKindOfClass:[NSNull class]]) {
            return YES;
        }
        if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {
            return YES;
        }
        return NO;
    } 
    

    通过枚举值调对应字符串

    //定义枚举类型
    typedef NS_ENUM(NSInteger, SubCityCategoryType){
        SomeTypeKey = 0,
    };
    //声明全局类型数组
    extern SomeType const SomeTypes[];
    //声明全局类型字符串函数
    extern NSString * const SomeTypeIdentifier(SomeType Key);
    //定义类型数组
    SubCityCategoryType const SubCityCategoryTypes[] = {
        SomeTypeKey
    };
    //定义字符串函数
    NSString * const SubCityCategoryTypeIdentifier(SomeType Key){
        switch (Key) {
            case SomeTypeKey:
                return @"KeyString";
            default:
                return @"";
        }
    }
    //传入枚举值通过字符串函数获取指定字符串
    SubCityCategoryTypeIdentifier(SomeTypeKey) //使用方式
    

    使用JSONKit将字符串,字典,数组转换成json格式

        str = [string JSONString];
        str = [dic JSONString];
        str = [array JSONString];
    
  • 相关阅读:
    Vue 事件修饰符 阻止默认事件
    vue created 生命周期
    续集---网络管理常用命令
    网络管理常用命令(6/14) -netstat命令详解
    系统OOM复位定位
    nohup- Shell后台运行
    一个linux命令(6/13):traceroute命令
    一个linux命令(6/12):cat 命令
    linux命令(6/11)--修改文件的用户组chgrp和文件所有者chown
    Linux终端快捷键
  • 原文地址:https://www.cnblogs.com/znios/p/4709457.html
Copyright © 2020-2023  润新知