美文网首页
OC语言day07-12字符串截取

OC语言day07-12字符串截取

作者: liyuhong165 | 来源:发表于2016-07-17 19:56 被阅读229次

pragma mark 字符串截取

pragma mark 概念

pragma mark 代码

#import <Foundation/Foundation.h>
#pragma mark 类

#pragma mark main函数
int main(int argc, const char * argv[])
{
#pragma mark 字符串的截取

#warning  字符串截取 (substringWithRange : 返回一个新的字符串)
    NSString *str = @"<head>lyh_hehe66</head>";

    // NSRange : 位置 / 长度
    // 从第6位开始, 获取 3位的长度
    
    // 创建结构体的两种方式
    // 1.
//    NSRange range = {6,3};
    // 2.
    /*
    NSRange range;
    range.location = 6;
    range.length = 3;
     */
    
#warning 开发常用
    // 只要是OC提供的结构体, 一般都可以使用NSMake XXX创建
    NSRange range = NSMakeRange(6, 3);
    
    NSString *newStr = [str substringWithRange:range];
    NSLog(@"str = %@",str);
    NSLog(@"newStr = %@",newStr);
    
#warning 动态获取长度 获取开始位置 和 结尾的位置 >xxxxx<

    // 1.动态获取 截取的起始位置
    NSUInteger location = [str rangeOfString:@">"].location + 1; // 加1 是获取> 后面的 字母的位置
    
    // 2.动态获取 截取的长度
    // 注意: rangeOfString 是 从左至右的开始 查找的 如果需要是从后往前找 需要用多一个参数
    
    // 从后往前找
//    NSUInteger length = [str rangeOfString:@"<" options:NSBackwardsSearch].location - 1;
    
    //
    NSUInteger length = [str rangeOfString:@"</"].location - location;
    
    NSLog(@"location = %lu,length = %lu",location,length);
    
    
#warning 列子
    NSString *t = @"abcda";
    /**
     {
     NSCaseInsensitiveSearch = 1,
     NSLiteralSearch = 2,
    NSBackwardsSearch = 4,      // 从后面往前
    NSAnchoredSearch = 8,
    NSNumericSearch = 64,
    NSDiacriticInsensitiveSearch
    NSWidthInsensitiveSearch
    NSForcedOrderingSearch
    NSRegularExpressionSearch
};
     */
    
    
    /*
    NSRange range22 = [t rangeOfString:@"a" options:NSBackwardsSearch];
    NSLog(@"%lu",range22.location);
    
    
#warning 字符串截取2 (substringFromIndex 从什么地方开始,一致截取到最后)
    str = @"<head>lyh</head>";
    
    NSString *newStr1 = [str substringFromIndex:6];
    NSLog(@"newStr1 = %@",newStr1);
    
#warning 字符串截取3 (substringToIndex 从开头开始截取, 一直截取到什么位置)
    NSString *newStr2 = [str substringToIndex:6];
    NSLog(@"newStr2 = %@",newStr2);
    */
    
    
    // 例子2
    /*
     <head>lyh</head> -- > lyh</head> --> lyh
     <head>lyh</head> -- > <head>lyh  --> lyh
     */
    
    // 获取开始位置
    NSString *str66 = @"<head>lyh</head>";

    NSUInteger location22 = [str66 rangeOfString:@">"].location + 1;
    NSString *newStr22 = [str66 substringFromIndex:location22];
    NSLog(@"newStr22 = %@",newStr22);
    
    location22 = [newStr22 rangeOfString:@"</"].location;
    // 改变了 指针的指向,并不是修改了原来的字符串
    newStr = [newStr substringToIndex:location22];
    NSLog(@"newStr = %@",newStr);
    return 0;
}


相关文章

  • Swift字符串截取

    NSString类型的字符串截取 NSString类型的字符串截取方法,同于OC语言的字符串截取方法,不能修改字符...

  • OC语言day07-12字符串截取

    pragma mark 字符串截取 pragma mark 概念 pragma mark 代码

  • 2019-05-24

    例如,要截取一个字符串中,两个指定字符串中间的字符串,OC截取方法如下: // 要截取 "> 和

  • Swift中的字符串按范围截取

    1.先谈下OC中的字符串截取 相信OC中的字符串截取很多人都已经很熟悉了 我觉得以下情况很常见,在服务器返回的数据...

  • 常用不想记(二)不记又要忘

    键盘输入模式获取和语言获取 获取输入框中的高亮部分 截取到指定位置的字符串 获取image的宽度OC Swift

  • String截取子字符串

    想到截取字符串首先想到的是OC的截取字符串的subString方法,所以自然联想到swift是否也提供相应的API...

  • mac 终端常见命令

    切换shell 截取字符串 shell字符串的截取 shell字符串的截取 Shell脚本8种字符串截取方法总...

  • 第07天OC语言(12):字符串截取

    不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 字符串截取的两种方式(通过range 、通过...

  • IOS----OC 独有 - 类型

    NSString 类型的指针变量,专门用来存储OC字符串的地址OC的字符串常量前要有:@符号C语言的字符串: "T...

  • OC 字符串的截取

    1、字符串截取 2、从指定位置开始截取n个长度 3、分隔字符串 4、字符串的截取替换 5、替换掉截取某部分的字符串...

网友评论

      本文标题:OC语言day07-12字符串截取

      本文链接:https://www.haomeiwen.com/subject/gtcpjttx.html