拼接字符串

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:@"\r" withString:@""];
headerData = [headerData stringByReplacingOccurrencesOfString:@"\n" 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];

iOS字符串处理的更多相关文章

  1. iOS字符串加密至MD5&及获取文件MD5

    iOS 字符串加密至MD5 #import <CommonCrypto/CommonDigest.h> + (NSString *) md5:(NSString *)str { const ...

  2. iOS 字符串 MD5

    iOS 字符串 MD5 Objective-C 实现 需要引入头文件 #import <CommonCrypto/CommonCrypto.h> 这里用方法实现 + (nullable N ...

  3. iOS字符串安全

    iOS字符串安全 一个编译成功的可执行程序,其中已初始化的字符串都是完整可见的. 针对于iOS的Mach-O二进制通常可获得以下几种字符串信息: 资源文件名 可见的函数符号名 SQL语句 format ...

  4. iOS 字符串处理笔记

    iOS字符串处理笔记,包括如何使用正则表达式解析,NSScanner扫描,设置和使用CoreParse解析器来解析处理自定义符号等内容 搜索 在一个字符串中搜索子字符串 最灵活的方法 - (NSRan ...

  5. ios字符串截取

    最近刚从 . net 转到ios平台  又开始了新的学习,所以开始写博客,这样可以让我每天都能进步一点点 对字符串的操作很多情况下和c#中的不一样 1.字符串的声明 //声明字符串 NSString  ...

  6. iOS 字符串的宽度和高度自适应

    //获取字符串的宽度 -(float)widthForString:(NSString *)value fontSize:(float)fontSize andHeight:(float)height ...

  7. iOS 字符串删除 DOM

    iOS  string 删除 包含的 DOM NSMutableString *mutableString = [NSMutableString stringWithString:responseSt ...

  8. iOS字符串为空的判断

    //判断字符串 -(BOOL) isValidString:(id)input { if (!input) { return NO; } if ((NSNull *)input == [NSNull ...

  9. ios字符串操作

    string的操作应用 NSRange range = [self.general rangeOfString:@"."]; NSString *str = [self.gener ...

  10. ios字符串计算高度总结

    1.用xib的话,设置约束的时候 不设置lable的高度即可,高度返回的就是最优高度. 2.用lable代码计算高度 CGFloat getHeightForLableString(NSString ...

随机推荐

  1. opencv2.4.9+VS2010配置

    opencv2.4.9 https://pan.baidu.com/s/15b5bEY65R4CptayEYVAG4A 安装包路径:D:\文件及下载相关\文档\Tencent Files\845235 ...

  2. Python入门(六):标准库

    操作系统接口 os模块提供了不少与操作系统相关联的函数. import os os.getcwd() # 返回当前的工作目录 os.chdir('d:/') # 修改当前的工作目录 os.system ...

  3. Docker入门与应用系列(六)Docker私有与公共镜像仓库

    1.搭建私有镜像仓库 Docker Hub作为Docker默认官方公共镜像:如果想搭建自己的私有镜像仓库,官方提供registry镜像,使搭建私有仓库非常简单 1.1下载registry镜像并启动 d ...

  4. webpack 从入门到工程实践

    from:https://www.jianshu.com/p/9349c30a6b3e?utm_campaign=maleskine&utm_content=note&utm_medi ...

  5. 组合使用QT的资源管理高级功能简化开发过程

    使用 QT 进行团队开发的时候,常常碰到一个问题,就是如何共同管理资源?甚至一个人进行开发的时候如何简化资源的维护,避免无谓的消耗? 如果可以做到在开发的时候,大家把美工做的图片(往往是程序员先自己随 ...

  6. netty学习之路

    Netty是一个高效的提供异步事件驱动的网络通信框架,换言之,Netty是一个nio实现框架并且能简化传统的TCP.UDP.Socket编程.

  7. * 和 ?在 shell 命令行中与在正则表达式中的区别

    Linux 正则表达式 你有没有想过,在 shell 命令行中的 *,?和正则表达式中的*,?是否一样? 自打好多年前接触 DOS,就知道了* 和?这两个通配符(Wildcard),象 dir *.* ...

  8. Python基础——原生数据类型(字典,列表,元组,字符串)

    字典Dictionary 字典定义了键值对的1对1管理. 1.定义字典 请看下面的栗子,我们先创建了一个具有两个元素的字典,每对都是key:value的形式. 我们能通过key得到value,但是不能 ...

  9. HDU 1232 畅通工程(Kruskal)

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  10. 巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式&&onblur和onfocus事件&&window.onload解释&&小米商城讲解

    1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...