1、将NSData / NSString转化

1
2
3
NSData *data
= [string dataUsingEncoding:
NSUTF8StringEncoding]; //
将字符串转data
 
NSString*
str = [[
NSString alloc]
initWithData:data]; 
//
将data转为字符串

2、字符串比较

(1)、OC语言,比较两个字符串是否相等

1
2
3
4
5
//
isEqualToString方法     
NSString *astring01
= @
"This
is a String!"
NSString *astring02
= @
"This
is a String!"
BOOL result
= [astring01 isEqualToString:astring02]; 
NSLog(@"result:%d",result);

(2)、C语言 比较两个字符串是否相等(一般不用)

1
2
3
4
5
6
7
8
9
char string1[]
"string!";
  
char string2[]
"string!";
  
if(strcmp(string1,
string2) == 0) {
  
    NSLog(@"1");
  
}

(3)、compare 比较两个字符串是否相等

1
2
3
4
5
6
//compare方法(comparer返回的三种值)     
NSString *astring01
= @
"This
is a String!"
NSString *astring02
= @
"This
is a String!"
;     
BOOL result
= [astring01 compare:astring02] = = 
NSOrderedSame;     
NSLog(@"result:%d",result);     
//NSOrderedSame判断两者内容是否相同

(4)、忽略大小写比较两个字符串

1
2
3
4
5
6
//不考虑大小写比较字符串1 
NSString *astring01
= @
"this
is a String!"
NSString *astring02
= @
"This
is a String!"
BOOL result
= [astring01 caseInsensitiveCompare:astring02] = = 
NSOrderedSame;     
NSLog(@"result:%d",result);      
//NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)

(5)、判断一个字符串是否包含另一个字符串

1
2
3
4
5
6
//
判断字符串中是否包含“a”
NSString *str
= @
"qrewfgfshsgfda";
if ([str
rangeOfString:@
"a"].location
== 
NSNotFound)
{
     
    NSLog(@"str
中 不包含 a"
);
}

(6)、判断两对象值的大小(按字母顺序升序进行比较,如:a大于b为真)

1
2
3
4
5
6
NSString *str
= @
"a";
NSString *str1
= @
"b";
if ([str
compare:str1] == 
NSOrderedAscending)
{
     
    NSLog(@"%@大于%@",str,str1);
}

(7)、判断两对象值的大小(按字母顺序倒序进行比较,如:c大于b为真)

1
2
3
4
5
6
NSString *str
= @
"c";
NSString *str1
= @
"b";
if ([str
compare:str1] == 
NSOrderedDescending)
{
     
    NSLog(@"%@大于%@",str,str1);
}

3、字符串转大写/小写/首字母大写

1
2
3
4
5
6
NSString *str
= @
"this
is the str"
;
[str
uppercaseString];  
//
将str转大写
 
[str
lowercaseString];  
//
将str转小写
 
[str
capitalizedString];
//
将str首字母大写  

4、字符串截取

(1)、从字符串的开头一直截取到指定的位置,但不包括该位置的字符

1
2
3
4
NSString *str
= @
"this
is a str"
;
 
//
从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString *str2
= [str substringToIndex:3]; 
//
截取后str2的值为:thi

(2)、从指定位置开始(包括指定位置的字符),截取到字符串末尾

1
2
3
4
NSString *str
= @
"this
is a str"
;
 
//
以指定位置开始(包括指定位置的字符),截取到字符窜末尾
NSString *str2
= [str substringFromIndex:3]; 
//
截取后str2的值为:s is a str

(3)、从指定位置开始(包括指定位置的字符),截取指定长度的字符串

1
2
3
4
5
NSString *str
= @
"this
is a str"
;
 
//
从指定位置开始(包括指定位置的字符),截取指定长度的字符串
//
第一个参数表示起始位置,第二个参数表示截取的长度
NSString *str2
= [str substringWithRange:
NSMakeRange(1,
3)]; 
//
截取后str2的值为:his 

5、字符串拼接

(1)、方法一:通过 stringWithFormat 拼接

1
2
3
4
NSString *str
= @
"this
is a str"
;
 
//
在str后拼接 append,生成str2
NSString *str2
= [
NSString stringWithFormat:@"%@
append"
,str];

(2)、方法二:通过 stringByAppendingString 拼接

1
2
3
4
NSString *str
= @
"this
is a str"
;
 
//
在str后拼接 append,生成str2
NSString *str2
= [str stringByAppendingString:@
"apend"];

(3)、方法三:通过 stringByAppendingFormat拼接

1
2
3
NSString *str
= @
"this
is a str"
;
//
在str后拼接一个Format好的字符串
NSString *str2
= [str stringByAppendingFormat:@
"apend%@",str]; 

(4)、在字符串指定位置插入新字符串

1
2
3
4
5
//
在指定位置插入字符串,
NSMutableString *str
= [
NSMutableString stringWithString:@"This
is a str"
];
 
//
在字符串前面插入Hello,使用此方法必须保证 str 是可变长度的
[str
insertString:@
"Hello" atIndex:0
];

6、判断字符串是否以另一个字符串开头/结尾

1
2
3
4
NSString *str
= @
"This
is a str"
;
 
[str
hasPrefix:@
"This"]; //
判断字符串是否以This开头
[str
hasSuffix:@
".txt"]; //
判断字符串是否以.txt结尾 

7、字符串扩展路径

1
2
3
4
5
6
7
NSString *Path
= @
"~/Documents/NSData.txt"//
此字符串必须为~开头
 
//
在Path前面扩展沙盒的路径
NSString *absolutePath
= [Path stringByExpandingTildeInPath];
 
//
去除扩展路径
[absolutePath
stringByAbbreviatingWithTildeInPath];

8、获取一个文件的扩展名

1
2
3
//
path 为一个文件的完整路径
NSString *Path
= @
"........./NSData.txt";
NSLog(@"这个文件的扩展名是:%@",[Path
pathExtension]);

9、按照固定长度生成空字符串

1
2
//
按照固定长度生成空字符串
NSString *str
= [
NSMutableString stringWithCapacity:40];

10、用指定字符串替换字符串中某指定位置、长度的字符串

1
2
3
4
5
6
7
//
用指定字符串替换字符串中的字符串,针对于可变字符串有效
NSMutableString *str
= [
NSMutableString stringWithString:@"This
is a str"
];
 
//
用That替换字符串中的This
[str
replaceCharactersInRange:
NSMakeRange(0,
4) withString:@
"That"];
 
NSLog(@"替换后的str:%@",str);

11、 使用JsonKit 将字符串转成数据字典

1
2
3
NSString *response
= [request responseString];                     
//
这是一个Json格式的字符串
NSData *data
= [response dataUsingEncoding:
NSUTF8StringEncoding];  //
将字符串转data
NSDictionary *dic
= [data objectFromJSONData];                     
//
字符串转字典

12、IOS url 编码,http请求遇到汉字的时候,需要转化成UTF-8

1
2
3
//
ios中http请求遇到汉字的时候,需要转化成UTF-8,用到的方法是:
  
NSString *
encodingString = [urlString stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding];

13、IOS url 解码,将%3A%2F%2F 格式转为UTF-8

1
2
3
//
请求后,返回的数据,如何显示的是这样的格式:%3A%2F%2F,此时需要我们进行UTF-8解码,用到的方法是:
 
NSString *str
= [model.album_name stringByReplacingPercentEscapesUsingEncoding:
NSUTF8StringEncoding];

非学无以广才,非志无以成学,小编不才,还请看官多多见谅!

ios 最全的常用字符串操作的更多相关文章

  1. [转载]c++常用字符串操作函数

    原文地址:c++常用字符串操作函数作者:Valsun 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source ...

  2. Js 常用字符串操作 API

    常用的一些字符串操作 API 整理 1.str.charAt(index).str.charCodeAt(index) - 返回指定位置的字符 / 字符编码(0~65535) index - 必须,表 ...

  3. JS 常用字符串操作

    Js字符串操作函数大全 /*******************************************                        字符串函数扩充              ...

  4. 整理:C#常用字符串操作,常用数值类型转换

    一.字符串操作 1. 字符串连接 //将指定的数组所有元素拼接为一个字符串 string[] arr = {"A","B","C"}; st ...

  5. C语言的常用字符串操作函数(一)

    一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这 ...

  6. mysql常用字符串操作函数大全,以及实例

    今天在论坛中看到一个关于mysql的问题,问题如下 good_id     cat_id12654         665,56912655         601,4722 goods_id是商品i ...

  7. VB常用字符串操作函数

    1. ASC(X),Chr(X):转换字符字符码 [格式]: P=Asc(X) 返回字符串X的第一个字符的字符码 P=Chr(X) 返回字符码等于X的字符 [范例]: (1)P=Chr(65) ‘ 输 ...

  8. C++常用字符串操作和UTF-8和GBK之间的转换以及判定(转)

    编码转换原文地址:https://www.cnblogs.com/Toney-01-22/p/9935297.html C++字符串常用操作:C++ 中字符串查找.字符串截取.字符串替换

  9. PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)

    /*常用的字符串输出函数 * * echo() 输出字符串 * print() 输出一个或多个字符串 * die() 输出一条信息,并退出当前脚本 * printf() 输出格式化字符串 * spri ...

随机推荐

  1. Checking out pull requests locally

    https://help.github.com/en/articles/checking-out-pull-requests-locally https://github.com/betaflight ...

  2. C++中若类中没有默认构造函数,如何使用对象数组

    前言: 如果定义一个类,有其默认的构造函数,则使用new动态实例化一个对象数组,不是件难事,如下代码: #include <memory> #include <iostream> ...

  3. 用 Flask 来写个轻博客 (30) — 使用 Flask-Admin 增强文章管理功能

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 实现文章管理功能 实现效果 前文列表 用 Flask 来写个 ...

  4. 重新认识Maven

    PS:第一次接触maven大约是两年前吧,隐约记得之前都是人工寻找并下载很多jar,放在项目的lib中(表示太年轻,没有接触过Ant或者其他类似的工具,就不找别人写的比较了).懒人永远有着自己的小聪明 ...

  5. do_mmap解读

    1: unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, 2: unsigned long len, unsigned ...

  6. luoguP1541 乌龟棋 题解(NOIP2010)

    P1541 乌龟棋 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include<cma ...

  7. JavaScript 盖尔-沙普利算法

    最近在学 JavaScript , 为了尽快熟悉语法,决定移植以前写的盖尔-沙普利算法. c# 下的代码:https://www.cnblogs.com/aitong/p/10973774.html ...

  8. 【知识强化】第六章 查找 6.3 B树和B+树

    本节课我们来学习本章的第一个难点,就是B树.那么B树它其实是一种数据结构,我们设计出这种数据结构就是为了提高我们的查找效率的,提高我们在磁盘上的查找效率.那么什么是B树呢?了解B树之前,我们先来回忆一 ...

  9. 转载:java面试题(一)

    1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注 ...

  10. css3--css3模块

    CSS3被拆分为"模块".旧规范已拆分成小块,还增加了新的. 一些最重要CSS3模块如下: 1.选择器(.基本选择器,层次选择器,伪类选择器,伪元素,属性选择器,通配符) 2.盒模 ...