.定义一个字符串a, 截取a 的某一个部分,复制给b, b必须是int型

NSString *a = @"1.2.30";

int b= [[a substringWithRange:NSMakeRange(,)] intValue];

NSLog(@"a:%@  n",a  );

NSLog(@"b:%d",b  );

解析如下:substringWithRange: 专门截取字符串的一块肉
NSMakeRange(,) 从第4个字符开始截取,长度为2个字符,(字符串都是从第0个字符开始数的哦~!) b = [a intValue]; 将 a 转换为 整数型 b = [a floatValue]; 将 a 转换为 小数型 b = [a boolValue]; 将 a 转换为 布尔型(true / false) b = [a integerValue]; 将 a 转换为 整数型 b = [a longLongValue]; 将 a 转换为 长整型 .字符串截取到第n位 (substringToIndex: n)(第n 位不算再内) - (void)viewDidLoad { NSString *a = @"i like long dress"; NSString *b = [a substringToIndex:]; NSLog(@"n b: %@",b); } .字符串从第n 位开始截取,直到最后 (substringFromIndex:n)(包括第 n 位) - (void)viewDidLoad { NSString *a = @"i like long dress"; NSString*b = [a substringFromIndex:]; NSLog(@"n b: %@",b); } .从某一个字符串中的一个字符串开始截取 - (void)viewDidLoad { NSString *a ="/pubic/evdaily.nsf/vwtrymaindocid/8E88469482579180035442A/$file/测试帐号及信息22.docx"; NSRange range = [arangeOfString:@"$file/"];//获取$file/的位置 NSString *b = [a substringFromIndex:range.location +
range.length];//开始截取 NSLog(@"n b: %@",b); }
当NSString为纯数字的时候可以用下面的方法:

//判断是否为整形:

- (BOOL)isPureInt:(NSString*)string{

    NSScanner* scan = [NSScanner scannerWithString:string]; 

    int val; 

    return[scan scanInt:&val] && [scan isAtEnd];

}

//判断是否为浮点形:

- (BOOL)isPureFloat:(NSString*)string{

    NSScanner* scan = [NSScanner scannerWithString:string]; 

    float val; 

    return[scan scanFloat:&val] && [scan isAtEnd];

}

更复杂点的Question:

I have an NSString like so:

@"200hello" or   @"0 something" 

What I would like to be able to do is take the first occuring number in the NSString and convert it into an int.

So that @"200hello" would become int = .

and @"0 something" would become int = .

Answer1(数字和字符排序不规则):

intvalue;
BOOL success=[[NSScannerscannerWithString:@"1000safkaj"]scanInteger:&value]; If the number is not always at the beginning: NSCharacterSet* nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
int value = [[@"adfsdg1000safkaj" stringByTrimmingCharactersInSet:nonDigits] intValue]; Answer2(数字总是在字符前): If the int value is always at the beginning of the string, you can simply use intValue. NSString*string=@"123hello"; int myInt = [string intValue];

http://www.dkankan.com/archives/4602

objective-c 字符串基本操作的更多相关文章

  1. Objective的字符串拼接 似乎没有Swift方便,但也可以制做一些较为方便的写法

    NSString *str1 = @"字符串1"; NSString *str2 = @"字符串2"; //在同样条件下,Objective的字符串拼接 往往只 ...

  2. JAVASE02-Unit01: API文档 、 字符串基本操作

    API文档 . 字符串基本操作 文档注释 package day01; /** * 文档注释只能定义在三个地方: * 类,方法,常量 * * 文档注释是功能注释,用来说明功能作用 * 在类上使用的目的 ...

  3. 关于python字符串基本操作

    python字符串基本操作,比如字符串的替换.删除.截取.复制.连接.分割等.都是一些关于字符串的一些方法.下面来列举一些,相信对学习python还是有些帮助的. 1.去除空格--strp(): &g ...

  4. 舌尖上的javascript数组和字符串基本操作

    Javascript数组基本操作 Javascript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数,然而这些数字索引在内部被转换为字符串类型,这是因为javascrip ...

  5. OC字符串基本操作

    不可变的字符串的修改方法有返回值(重新指向新的字符串地址) 可变的字符串的修改方法没有返回值(修改字符串本身) // NSString 不可变字符串 // 1.创建字符串对象 // 使用初始化方法创建 ...

  6. Windows内核 字符串基本操作

    驱动程序中字符串操作涉及到ASCII字符串.宽字符串,还有DDK定义的ANSI_STRING数据结构和UNICODE_STRING数据结构. 1)ASCII字符串和宽字符串 在应用程序中使用两种字符: ...

  7. Python 字符串基本操作

    字符串是Python的一种基本类型,字符串的操作包括字符串格式化输出.字符串的截取.合并,字符串的查找和替换等操作. 字符串定义 Python中有3种表示字符串的方法:单引号.双引号.三引号.引号使用 ...

  8. shell字符串基本操作

    shell脚本中一切变量皆字符串,所以必须掌握字符串的常用处理方法.比如获取字符串长度.获取字符串指定位置字符.替换字符串中的指定字符或者删除某些字符等操作. 1.字符串操作列表 (1)var=val ...

  9. js字符串基本操作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtm ...

随机推荐

  1. 【10.17校内测试】【二进制数位DP】【博弈论/预处理】【玄学(?)DP】

    Solution 几乎是秒想到的水题叻! 异或很容易想到每一位单独做贡献,所以我们需要统计的是区间内每一位上做的贡献,就是统计区间内每一位是1的数的数量. 所以就写数位dp辣!(昨天才做了数字统计不要 ...

  2. Express浅析

    一.Express是什么? 首先Express是一个Node.js的Web框架,它的API使用各种HTTP实用程序方法和中间件,快速方便地创建强大的API,性能方面Express提供精简的基本web应 ...

  3. rapidjson的使用

    1.包含头文件 #include "rapidjson/stringbuffer.h"#include "rapidjson/document.h"#inclu ...

  4. spring---transaction(2)---源代码分析(事务的定义TransactionDefinition)

    写在前面 事务属性通过TransactionDefinition接口实现定义,主要有事务隔离级别.事务传播行为.事务超时时间.事务是否只读. public interface TransactionD ...

  5. Polly简介 — 1. 故障处理策略

    Polly 是 .Net 下的一套瞬时故障处理及恢复的函式库,可让开发者以fluent及线程安全的方式来应用诸如Retry.Circuit Breaker.Timeout.Bulkhead Isola ...

  6. Tasker to stop Poweramp control for the headset while there is an incoming SMS - frozen

    If you usually like to use Poweramp or any other media player to enjoy the music with headset plugge ...

  7. A profile to detect when a SMS database has been changed

    http://webmail.dev411.com/t/gg/tasker/12bdddbsak/a-profile-to-detect-when-a-sms-has-been-sent A bela ...

  8. 分布式中使用redis进行session共享

    摘要 在asp.net web中,session经常用来存储当前用户信息,或者通过session进行登录权限的验证.如果是一台服务器,session的使用没问题,如果使用nginx等实现反向代理,将站 ...

  9. C#编程(十)----------C#预处理器

    原文链接:http://blog.csdn.net/shanyongxu/article/details/46491757 C#中的预处理器指令 #IF 如果 C# 编译器遇到最后面跟有 #endif ...

  10. 在MyEclipse中修改类不重启tomcat

    今天因为在调试一个程序,因为工程中用到spring,每次修改类代码时都要重启服务器,搞得很郁闷,于是上网找找有没有可以让java代码每次修改之后 直接加载到服务器的,找了一些还果真有,不过有些方法我试 ...