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)];
}
当然 去除其他的转义符号同理.