如何使用`Util class`从长字符串中获取最后一个字符和第一个字符?

飞机

我使用以下代码获取the last character,出现错误:

EXC_BAD_ACCESS(code=2,address=0x....)

所以我lldb它:

(lldb) po originStr.length
error: Trying to put the stack in unreadable memory at: 0x7fff5f010f80.
(lldb) po [originStr substringFromIndex:originStr.length - 1]
error: Trying to put the stack in unreadable memory at: 0x7fff5f010f80.

我的originStr很长:打印originStr的描述:

(__NSCFString *) originStr = 0x00007f9e2d084c20 @"static/res/upload/headImage/2016-7-18/2d2f44bea6384d66828db17a5a7e3490.jpg,static/res/upload/headImage/2016-7-18/50269cabce1f48658ec449bc66594dbb.jpg,static/res/upload/headImage/2016-7-18/12d034621c2d4c238271b0a1abfd97a1.jpg,static/res/upload/headImage/2016-7-18/b3d3367470c843df894f8d967a5c3584.jpg,static/res/upload/headImage/2016-7-18/735b392f0f7848ae878e2c20c8e61096.jpg,static/res/upload/headImage/2016-7-18/d7192235da2c46e88e62e9c54c6eb126.jpg,static/res/upload/headImage/2016-7-18/1c7fe1c7bd5a4f0984df7a311c7bfb64.jpg,static/res/upload/headImage/2016-7-18/1471802d68ac49c7ab62973b220d17a6.jpg,static/res/upload/headImage/2016-7-18/feefe467f9564a3ea775b945d54b4f4e.jpg,static/res/upload/headImage/2016-7-18/b4c36ecd16cb41c0a86187ee78835ebb.jpg,static/res/upload/headImage/2016-7-18/a230c5605e0a47e7a0f429471a5a19e8.jpg"

编辑:我的originStr从服务器关闭,dic是数据:

NSString *originStr = dic[@"image"];

这是originStr的来源。

编辑:

我有原因,因为我使用该函数删除了类中的最后一个和第一个特殊字符。Util我已经测试了我是否在class生成的操作中进行了操作long string,效果很好,如果在中进行了操作Util,则会出错。

以下是我的Util's功能:

@interface Util : NSObject

+ (NSString *)removeString:(NSString *)originStr lastCharacterIfItIs:(NSString *)removeCharacter;

+ (NSString *)removeString:(NSString *)originStr firstCharacterIfItIs:(NSString *)removeCharacter;
//
+ (NSString *)removeString:(NSString *)originStr firstAndLastCharacterIfItIs:(NSString *)removeCharacter;

@end

#import "Util.h"

@implementation Util

+ (NSString *)removeString:(NSString *)originStr lastCharacterIfItIs:(NSString *)removeCharacter {
    if (originStr.length == 0) {

        return originStr;
    }

    NSString *after_str;
    NSString *last_str = [originStr substringFromIndex:[originStr length] - 1];  
    // This line above code goes wrong. It shows:Thread 1:EXC_BAD_ACCESS(code=2,address=0x7fff5eabdff8),and I tried to po the originStr.length,it shows:
    //(lldb) po originStr.length
    //error: Trying to put the stack in unreadable memory at: 0x7fff5eabdf80.

    if ([last_str isEqualToString:removeCharacter]) {

        after_str =[originStr substringWithRange:NSMakeRange(0, originStr.length -1)];

    }else {
        after_str = originStr;
    }
    return after_str;
}

+ (NSString *)removeString:(NSString *)originStr firstCharacterIfItIs:(NSString *)removeCharacter {
    if (originStr.length == 0) {

        return originStr;
    }
    NSString *after_str;
    NSString *first_str = [originStr substringToIndex:1];
    if ([first_str isEqualToString:removeCharacter]) {


        after_str = [originStr substringWithRange:NSMakeRange(1, originStr.length -1)];
    }else {
        after_str = originStr;
    }

    return originStr;
}

+ (NSString *)removeString:(NSString *)originStr firstAndLastCharacterIfItIs:(NSString *)removeCharacter {

    NSString *str_last_removed = [Util removeString:originStr lastCharacterIfItIs:removeCharacter];
    return [Util removeString:str_last_removed firstAndLastCharacterIfItIs:removeCharacter];
}

@end

我认为是Util该类的内存有限,因此会引起问题。

特里皮·哈里达斯(Thripthi Haridas)
let trimmedString: String = (address as! NSString).substringFromIndex(max(address!.length-1,0));

这是为了从长字符串中获取最后一个字符

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用JavaScript从字符串中获取第一个字符的索引包含数值

来自分类Dev

Android如何获取字符串的第一个字符?

来自分类Dev

如何在TStringList中获取最后一个字符串

来自分类Dev

如何在php中获取字符串的第一个字符

来自分类Dev

如何获取字符串中每个单词的第一个字符?

来自分类Dev

使用`format`获取字符串的最后一个字符

来自分类Dev

如何替换字符串中第一个字符以外的字符

来自分类Dev

使用指针交换字符串的第一个字符

来自分类Dev

如果仅在多行字符串中仅作为第一个和最后一个字符出现,如何替换双引号?

来自分类Dev

如何在第一个字符后屏蔽字符串

来自分类Dev

如何在Rust中删除字符串的第一个和最后一个字符?

来自分类Dev

如何删除字符串的第一个字符[python]

来自分类Dev

如何从文本文件中删除第一个字符串和逗号

来自分类Dev

如何从爆炸的PHP字符串中删除第一个和最后一个字符

来自分类Dev

如何获取字符串中最后一个字符的位置?

来自分类Dev

如何在TStringList中获取最后一个字符串

来自分类Dev

C#如何交换字符串中的第一个字符与最后一个字符

来自分类Dev

使用数组和foreach循环从另一个字符串中获取一个字符串

来自分类Dev

如何从IronPyhon中的字符串中删除最后一个字符?

来自分类Dev

如何编写一个JavaScript函数来检查字符串中的第一个字符和最后一个字符是否相等

来自分类Dev

如何从C#的列表中获取第一个字符串?

来自分类Dev

如何获取字符串的最后一个字符

来自分类Dev

如何从链接列表中获取字符串的第一个字符?

来自分类Dev

如何获取PHP中已经初始化的字符串的第一个字符?

来自分类Dev

如何获取字符串中第一个和最后一个字符的索引?

来自分类Dev

带有硒的 Python:如何获取元素中的第一个字符串

来自分类Dev

如何把 xpages 正则表达式(第一个字符和最后一个字符)不能是特殊字符

来自分类Dev

使用字符串的第一个和最后一个字符来创建另一个变量

来自分类Dev

如何从mongodb中的字符串中获取最后一个字符?

Related 相关文章

  1. 1

    如何使用JavaScript从字符串中获取第一个字符的索引包含数值

  2. 2

    Android如何获取字符串的第一个字符?

  3. 3

    如何在TStringList中获取最后一个字符串

  4. 4

    如何在php中获取字符串的第一个字符

  5. 5

    如何获取字符串中每个单词的第一个字符?

  6. 6

    使用`format`获取字符串的最后一个字符

  7. 7

    如何替换字符串中第一个字符以外的字符

  8. 8

    使用指针交换字符串的第一个字符

  9. 9

    如果仅在多行字符串中仅作为第一个和最后一个字符出现,如何替换双引号?

  10. 10

    如何在第一个字符后屏蔽字符串

  11. 11

    如何在Rust中删除字符串的第一个和最后一个字符?

  12. 12

    如何删除字符串的第一个字符[python]

  13. 13

    如何从文本文件中删除第一个字符串和逗号

  14. 14

    如何从爆炸的PHP字符串中删除第一个和最后一个字符

  15. 15

    如何获取字符串中最后一个字符的位置?

  16. 16

    如何在TStringList中获取最后一个字符串

  17. 17

    C#如何交换字符串中的第一个字符与最后一个字符

  18. 18

    使用数组和foreach循环从另一个字符串中获取一个字符串

  19. 19

    如何从IronPyhon中的字符串中删除最后一个字符?

  20. 20

    如何编写一个JavaScript函数来检查字符串中的第一个字符和最后一个字符是否相等

  21. 21

    如何从C#的列表中获取第一个字符串?

  22. 22

    如何获取字符串的最后一个字符

  23. 23

    如何从链接列表中获取字符串的第一个字符?

  24. 24

    如何获取PHP中已经初始化的字符串的第一个字符?

  25. 25

    如何获取字符串中第一个和最后一个字符的索引?

  26. 26

    带有硒的 Python:如何获取元素中的第一个字符串

  27. 27

    如何把 xpages 正则表达式(第一个字符和最后一个字符)不能是特殊字符

  28. 28

    使用字符串的第一个和最后一个字符来创建另一个变量

  29. 29

    如何从mongodb中的字符串中获取最后一个字符?

热门标签

归档