处理服务器返回字符转义的问题

2019-01-17  本文已影响0人  东了个尼

iOS特殊字符的转义字符

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

所有的转义字符和所对应的意义:


屏幕快照 2019-01-17 下午2.17.57.png

实际情景

服务器返回正则表达式

^[a-zA-Z0-9\u4E00-\u9FA5\u0E80-\u0EFF\.\s\_\,\@\:\*\-\(\)]{1,80}$

但是在请求过后由于字符转义变成了

^[a-zA-Z0-9\u4E00-\u9FA5\u0E80-\u0EFF\\.\\s\\_\\,\\@\\:\\*\\-\\(\\)]{1,80}$

所以这个时候需要去掉转义字符带来的影响,那么就需要去掉一个""

那么知道如何表示'',去掉这个就是一个遍历的事了.代码如下:

NSMutableString *responseString = [NSMutableString stringWithString:[request responseString]];
    NSString *character = nil;
    for (int i = 0; i < responseString.length; i ++) {
        character = [responseString substringWithRange:NSMakeRange(i, 1)];
        if ([character isEqualToString:@"\\"])
            [responseString deleteCharactersInRange:NSMakeRange(i, 1)];
    }

当然 去除其他的转义符号同理.

上一篇 下一篇

猜你喜欢

热点阅读