在 iphone app 中,我通过 JSON 将数据发送到 Iphone 设备。我的段落是包含多个换行符的大文本。如何在 iphone 目标 c 中删除斜线?
问问题
820 次
4 回答
0
不,您必须手动完成。例如:
NSString *str = @"Test string with some \' and some \" \'\"";
str = [str stringByReplacingOccurrencesOfString:@"\'" withString:@"'"];
str = [str stringByReplacingOccurrencesOfString:@"\\\"" withString:@"\""];
NSLog(@"%@", str);
于 2012-09-06T12:16:36.657 回答
0
要删除简单\
的喜欢O\'Reilly
使用:
string = [string stringByReplacingOccurrencesOfString:@"\\" withString:@""];
于 2013-09-29T14:58:25.627 回答
0
一般的带斜杠(控制字符除外)
如果范围是取消引用所有反斜杠引用的字符,例如没有 magic_quotes_sybasestripslashes
的PHP 函数,那么除了 NUL ( ) 之类的控制字符之外,将进行正则表达式替换:\0
NSString *str = @"\\\\ \\' \\\" \\r\\s\\t\\u";
str = [str stringByReplacingOccurrencesOfString:@"\\\\(.)" withString:@"$1" options:NSRegularExpressionSearch range:NSMakeRange(0, str.length)];
反向加斜杠
如果范围仅限于反转addslashes
PHP 函数,则只需 4 个字符不转义/不加引号:NUL、双引号、单引号和反斜杠。
NSString *str = @"\\\\ \\' \\\" \\\0";
str = [str stringByReplacingOccurrencesOfString:@"\\\0" withString:@"\0"];
str = [str stringByReplacingOccurrencesOfString:@"\\\"" withString:@"\""];
str = [str stringByReplacingOccurrencesOfString:@"\\\'" withString:@"\'"];
str = [str stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
取消引用 JSON
您根本不应该使用addslashes
或stripslashes
用于 JSON 内容。JSON 的转义规则在https://json.org/中描述:
例如,stripslashes
将不支持\u
+ 4 hexadecimal digits。
因此,如果范围是不引用 JSON 格式(不stripslashes
类似),则使用 JSON 解析器:
NSString *str = @"\\\" \\\\ \\u26C4";
str = [NSJSONSerialization JSONObjectWithData:[[NSString stringWithFormat:@"\"%@\"", str] dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments error:nil];
于 2017-11-19T02:46:05.393 回答
-1
请试试这个
NSString *valorTextField = [[NSString alloc] initWithFormat:@"Hello \ world"];
NSString *replaced = [valorTextField stringByReplacingOccurrencesOfString:@"\" withString:@""];
NSLog(@"%@", replaced);
于 2016-05-06T06:12:33.727 回答