ios 中NSString的一些调用
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建
NSString *str1 = @"abc";
NSLog(@"%p", str1);
// str1 = [[NSString alloc] initWithString:@"abc"];
// NSLog(@"%p", str1);
//1. 将C语言字符串转化为OC的字符串对象,只能是UTF-8编码
str1 = [[NSString alloc] initWithUTF8String:"abc"];
//2. 支持更多编码
str1 = [[NSString alloc] initWithCString:"abc" encoding:NSUTF8StringEncoding];
int money = 10;//我有10块钱
//3. 格式化字符, NSLog()
str1 = [[NSString alloc] initWithFormat:@"我有%d块钱", money];
//4. 类方法
str1 = [NSString stringWithUTF8String:"abc"];
//5. 所有以名词开头的都会有返回值
str1 = [NSString stringWithFormat:@"我有%d块钱", money];
NSError *error;
//6. 将文本文件内容读取到字符串对象中,并将首地址保存到str1里
str1 = [NSString stringWithContentsOfFile:@"/Users/apple/Desktop/test.txt" encoding:NSUTF8StringEncoding error: &error];
if (error != nil) {
NSLog(@"%@", error);
}
else {
NSLog(@"%@", str1);
}
str1 = @"ab";
//7. 如果文件不存在,创建并保存内容;如果存在的话,覆盖
[str1 writeToFile:@"/Users/apple/Desktop/test2.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
//8. 将基本数据类型(C类型)转化为OC的对象
str1 = [NSString stringWithFormat:@"%d", 123];
NSLog(@"%@", str1);
int value = str1.intValue;
NSLog(@"%d", value);
//9. 比较
// @"abc", @"abd"
// NSComparisonResult res = [@"abc" compare:@"abd"];
NSString *path = @"www.baidu.com";
//10. 检查前缀
if (![path hasPrefix:@"http://"]) {
path = [NSString stringWithFormat:@"http://%@", path];
}
NSLog(@"%@", path);
//11. 检查后缀
NSString *filename = @"1.jpg";
if ([filename hasSuffix:@".jpg"]) {
NSLog(@"这是一张jpg图片");
}
//12. 在一个字符串后添加一个字符串, 产生一个新的字符串,老的不变
NSString *str2 = [str1 stringByAppendingString:@"1111"];
NSLog(@"%@", str1);
NSLog(@"%@", str2);
str2 = [str1 stringByAppendingFormat:@"%d", 998];
NSLog(@"%@", str2);
NSString *desk = @"/Users/apple/Desktop";
for (int i = 1; i < 11; i++) {
NSLog(@"%@", [desk stringByAppendingFormat:@"/%d.txt", i]);
}
//13. 文件路径,自动添加分隔符
str2 = [desk stringByAppendingPathComponent:@"1.txt"];
NSLog(@"%@", str2);
str2 = [desk stringByAppendingPathExtension:@"exe"];
NSLog(@"%@", str2);
NSArray *array = [str2 pathComponents];
NSLog(@"%@", [array lastObject]);
filename = [array lastObject];
//删除扩展名
filename = [filename stringByDeletingPathExtension];
NSLog(@"filename: %@", filename);
//CSV
NSString *values = @"1,2;3";
// array = [values componentsSeparatedByString:@",;"];
//用@",;"里的字符生成一个字符的集合
NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@",;"];
//使用字符集set中的字符分割字符串
array = [values componentsSeparatedByCharactersInSet:set];
NSLog(@"%@", array);
str1 = @"def教育abc";
NSLog(@"字符个数: %lu", str1.length);
NSLog(@"字节长度: %lu", [str1 lengthOfBytesUsingEncoding:NSUTF8StringEncoding]);
unichar c = [str1 characterAtIndex:0];
NSLog(@"%hu", c);
// const char *cstr = [str1 UTF8String];
// NSLog(@"cstr: %s", cstr);
str1 = @"abcdefghijk";
//将字符串扩充到10个字节,如果超过10个,裁剪
str1 = [str1 stringByPaddingToLength:10 withString:@".+-" startingAtIndex:2];
NSLog(@"%@", str1);
str1 = @"abcd zhang san aaaabcabc";
//裁剪首尾的字符
str1 = [str1 stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"zd abc"]];
NSLog(@"|%@|", str1);
str1 = @"01234567890";
//获取一个字串[3, 11)
str2 = [str1 substringFromIndex:3];
NSLog(@"%@", str2);
//[0, 3)
str2 = [str1 substringToIndex:3];
NSLog(@"%@", str2);
//截取一个范围内的字串
NSRange range = NSMakeRange(0, 5);//{0, 3};
str2 = [str1 substringWithRange:range];
NSLog(@"%@", str2);
str1 = @"world hello world";
//查找一个字串的位置, 默认为从左到右的第一个
range = [str1 rangeOfString:@"world"];
NSLog(@"{%lu, %lu}", range.location, range.length);
//没有找到,返回NSNotFound
if (range.location == NSNotFound) {
NSLog(@"没找到");
}
//将字符串中出现的world全部替换为hi
str2 = [str1 stringByReplacingOccurrencesOfString:@"world" withString:@"hi"];
NSLog(@"%@", str2);
str1 = @"hi, China";
//大写
str2 = str1.uppercaseString;
NSLog(@"%@", str2);
//小写
str1 = str2.lowercaseString;
NSLog(@"%@", str1);
//首字母大写
str2 = str1.capitalizedString;
NSLog(@"%@", str2);
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
NSString *content = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@", content);
[content writeToFile:@"/Users/apple/Desktop/index.html" atomically:YES encoding:NSUTF8StringEncoding error:nil];
str1 = @“教育";
//百分号转义
str2 = [str1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@", str2);
}
return 0;
}
ios 中NSString的一些调用的更多相关文章
- IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现
看完过后,你会学到: 1学习IOS开发中的分类实现, 2以及类方法的书写, 3以及字符串的MD5加密/解密. ---------------------------wolfhous---------- ...
- iOS 中 h5 页面 iframe 调用高度自扩展问题及解决
开发需求需要在 h5 中用 iframe 中调用一个其他公司开发的 html 页面. 简单的插入 <iframe /> 并设置宽高后,发现在 Android 手机浏览器上打开可以正常运行, ...
- 在 iOS 中实现方法链调用
编译:伯乐在线 - 林欣达 如有好文章投稿,请点击 → 这里了解详情 如需转载,发送「转载」二字查看说明 前言 链式调用(chained calls)是指在函数调用返回了一个对象的时候,使得这个调用链 ...
- 【iOS和HTML 5交互】iOS中加载html5调用html方法和修改html5内容
近期项目开发中用到了这方面的技术了,那我们一起来看看. 1.利用webView控件加载本地html5或者网络上html5 2.设置控制器为webView的代理,遵守协议 3.实现代理方法webView ...
- iOS中NSTimer的invalidate调用之后
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...
- ios中layoutsubview何时被调用
layoutsubview和viewDidlayoutsubview(控制器)被调用的集中情况 一:当view的frame或bounds发生改变 1:直接改view的frame或bounds 会调用v ...
- iOS中NSString转换成HEX(十六进制)-NSData转换成int
http://www.2cto.com/kf/201402/281501.html 1 2 3 4 5 6 NSString *str = @"0xff055008"; //先以1 ...
- ios中摄像头和图片调用
推荐文章 http://www.xuanyusong.com/archives/1493 http://blog.csdn.net/ryantang03/article/details/7830996
- IOS中调用系统的电话、短信、邮件、浏览功能
iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...
随机推荐
- 如何在Sublime Text中添加代码片段
我们在编写代码的时候,总会遇到一些需要反复使用的代码片段.这时候就需要反复的复制和黏贴,大大影响效率.我们利用Sublime Text的snippet(代码片段)功能,就能很好的解决这一问题.通俗的讲 ...
- cocos2d-lua ARPG手机游戏《烈焰遮天》(客户端+服务端+数据库)发布说明
服务器发布流程及其规范1,环境准备 a, mvn命令行:从\\10.21.210.161\share\tools\apache-maven-3.1.1-bin.tar.gz取出安装包, ...
- 关于 pace 有意思的一篇文章
http://www.blogjava.net/xingcyx/archive/2006/12/28/90498.html http://blog.sina.com.cn/s/blog_700a8db ...
- Chapter 2 Open Book——31
"It's too bad about the snow, isn't it?" Edward asked. I had the feeling that he was forci ...
- 在一个页面重复使用一个js函数的方法
给每个拥有相同行为的问题DOM节点一个相同的class类,如question,同时给不同的问题一个不同的标识ID如 id="question1" id="question ...
- Linux入门(三)搭建服务器linux运行环境LAMP/LNMP
本文内容主要根据慕课网教学视频整理,原链接http://www.imooc.com/learn/170 我用的linux系统是ubuntu 12.04 LTS 虚拟机是VMware Workstat ...
- 浙大 pat 1047题解
1047. Student List for Course (25) 时间限制 400 ms 内存限制 64000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Y ...
- 2016腾讯"创益24小时"互联网公益创新大赛总结
上周末参加了腾讯的"创益24小时"互联网公益大赛,和两个小伙伴(设计师Beryl和产品经理Benny)浴血奋战两天一夜,完成了一个叫"彩虹桥"的公益项目. (一 ...
- SSH 两个表全套增删改(运动员住宿管理)
0.创建如下oracle的命令 create table HOTALINFO ( HOTALID ) not null, HOTALNAME ) not null, HOTALADDRESS ) no ...
- 单尺度二维离散小波重构(逆变换)idwt2
clc,clear all,close all; load woman; %单尺度二维离散小波分解.分解小波函数haar [cA,cH,cV,cD]=dwt2(X,'haar'); %单尺度二维离散小 ...