NSScanner
NSScanner
NSScanner:该类主要实现对字符串扫描。并且该扫描必须从头到尾扫描(也可以跳到指定的地方进行扫描),开始扫描必须应用到函数,连续的数字之间可以用空格隔开,如:35 15.2 451,此时可以连续获得3个数据,而不用再去扫描空格。
是否扫描空格:
注意:在扫描的时候,如果 空格是不需要扫描的,那么将会忽略空格。
如下代码:
1 NSString *string = @"my age is d 23 34.0";
2 int i;
3 float f;
4 NSString *theString = @"my age is";
5 NSString *resultString;
6 NSString *dString;
7
8 //扫描字符串
9 NSScanner *theScanner = [NSScanner scannerWithString:string ];
10 [theScanner scanString:theString intoString:&resultString];
11 NSLog(@"resultString is %@",resultString);
12
13 //扫描字符串中的d字符
14 [theScanner scanString:@"d" intoString:&dString];
15 NSLog(@"d string is %@",dString);
16
17
18 //扫描字符串中的整型数据
19 [theScanner scanInteger:&i];
20 NSLog(@"intergent is %d",i);
21 //扫描字符串中的浮点型数据
22 [theScanner scanFloat:&f];
23 NSLog(@"float is %f",f);
输出的结果为:
2012-08-18 16:01:26.419 ScannerDemo[1225:f803] resultString is my age is
2012-08-18 16:01:29.360 ScannerDemo[1225:f803] d string is d
2012-08-18 16:01:33.735 ScannerDemo[1225:f803] intergent is 23
2012-08-18 16:01:35.359 ScannerDemo[1225:f803] float is 34.000000
解析:在字符串
string 中,“is”和“d”之间的空格不需要扫描的,然后我定义了一个
theString 字符串,该字符串之后没有空格,然后扫描 theString d,此时空格没有计入扫描的范围内,所以扫描会忽略空格。
一、将十六进制转化为十进制。如下:
unsigned int r;
NSString *rString = @"EF";
其中:rString表示十六进制的字符。r表示十六进制对应的十进制。
NSScanner的更多相关文章
- NSScanner知悉 (转)
http://blog.csdn.net/likendsl/article/details/7974761 NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的 ...
- 使用NSScanner,将十六进制字符串转十进制
例子: NSString * numStr = [@"0x110" substringFromIndex:2]; unsigned long long result = 0; N ...
- iOS中NSScanner 的用法
NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以创建NSScanner时制定他的String属性,然后scanner会按照你的要求从头到尾扫描这 ...
- NSScanner用法详解
NSScanner类用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符 ...
- iOS中的字符串扫描类NSScanner
新建一个Category,命名为UIColor+Hex,表示UIColor支持十六进制Hex颜色设置. UIColor+Hex.h文件, #import <UIKit/UIKit.h> # ...
- oc for in 的时候nsscanner: nil string argument
今天偶然发现,oc for in 动态的给一数组加东西,然后嵌套for in 会报nsscanner: nil string argument. 换成for循环就好了,暂时还没找到原因
- 字符串处理(正则表达式、NSScanner扫描、CoreParse解析器)-备用
搜索 在一个字符串中搜索子字符串 最灵活的方法 1 - (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptio ...
- NSScanner-备
注意:在扫描的时候,如果 空格是不需要扫描的,那么将会忽略空格. 如下代码: 1 NSString *string = @"my age is d 23 34.0"; ...
- NSSCanner 提取 指定 字符串
/** * 从msg中提取指定的内容 * * @param msg 字符串集合 * * @return 从msg中提取指定的内容 */ -(NSString*)extractBodyFromMe ...
- NSScanner扫描字符串中()的内容
//本事例去除小括号及其内部的内容 + (NSString *)changeStringWithString:(NSString *)string { NSScanner*scanner = [NS ...
随机推荐
- DPDK无法分出大页面:EAL: No free hugepages reported in hugepages-2048kB 解决方法
参考: [dpdk-users] Fw: DPDK Error --> EAL: No free hugepages reported in hugepages-2048kB DPDK无法分出连 ...
- UVa 1663 净化器
https://vjudge.net/problem/UVA-1663 题意: 给m个长度为n的模板串,每个模板串包含字符0,1和最多一个星号"*",其中星号可以匹配0或1.例如, ...
- 【Python】【元编程】【从协议到抽象基类】
"""class Vector2d: typecode = 'd' def __init__(self,x,y): self.__x = float(x) self.__ ...
- codevs 1081 线段树练习 2 线段树
题目描述 Description 给你N个数,有两种操作 1:给区间[a,b]的所有数都增加X 2:询问第i个数是什么? 输入描述 Input Description 第一行一个正整数n,接下来n行n ...
- Python3 学习
没有大括号,使用TAB缩进实现大括号的功能,if else等语句后面也没有小括号,注意和其他高级语言区别句尾没有分号,但if else后面有没有字符概念,用单引号包起来的也是字符串,也就是说单双引号都 ...
- Qt for Embedded Linux
1. Qt for Embedded Linux http://doc.qt.io/qt-5/embedded-linux.html 2. Installing Qt for Embedded Lin ...
- android 开发 出错
Error:Execution failed for task ':app:processDebugResources'. > com.android.ide.common.process.Pr ...
- 修改LinuxMint18更新软件源
参考文章: http://blog.csdn.net/Notzuonotdied/article/details/53908154 修改软件源 点击Menu->Administration-&g ...
- Codeforces 838A - Binary Blocks(二维前缀和+容斥)
838A - Binary Blocks 思路:求一下前缀和,然后就能很快算出每一小正方块中1的个数了,0的个数等于k*k减去1的个数,两个的最小值就是要加进答案的值. 代码: #include< ...
- [Android教程] Cordova开发App入门(一)创建android项目
前言 Apache Cordova是一个开源的移动开发框架.允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 应用在每个平台的具体执行被封装了起来,并依靠符合标准的A ...