我正在尝试在我的代码中用“\”替换“\”,同时准备一个json字符串将其传递给.NET服务器,但它无效... 我的输入是“As'@ k”,我需要得到“As \'@ k”作为输出..我的代码在下面
NSString *myString=@"As'@k";
NSString *tempString=@"\'";
myString=[myString stringByReplacingOccurrencesOfString:@"'" withString:tempString];
NSLog(@"MYSTRING: %@",myString);
没有输出为“As \'@ k”。为什么呢?
帮助我..
答案 0 :(得分:4)
由于\
是用于转义的特殊字符,因此如果需要反斜杠字符,则需要使用\\
:
NSString *tempString=@"\\'";
答案 1 :(得分:1)
NSString *myString=@"As'@k";
myString=[myString stringByReplacingOccurrencesOfString:@"'" withString:@"\\'"];
NSLog(@"MYSTRING: %@",myString);
答案 2 :(得分:0)
你需要使用@“\\”,因为\是一个转义符,所以你需要转义它,否则会被忽略
答案 3 :(得分:0)
试试这个:
NSString *myString=@"As'@k";
NSString *tempString=@"\\'"; //because it is escape sequence character
myString=[myString stringByReplacingOccurrencesOfString:@"'" withString:tempString];
NSLog(@"MYSTRING: %@",myString);
答案 4 :(得分:-2)
在here
的项目中包含regexkit lite在项目中包含头文件
#import "RegexKitLite.h"
在代码中添加以下方法。
-(NSString*)backSlashCorrectionForString:(NSString*)originalString
{
NSError *error = nil;
NSRegularExpression *regex =
[NSRegularExpression
regularExpressionWithPattern:@"\s"
options:NSRegularExpressionCaseInsensitive error:&error];
NSString *newString =
[regex stringByReplacingMatchesInString:originalString
options:0 range:NSMakeRange(0, [originalString length]) withTemplate:@"\\s"];
//NSLog(@"New string: %@",newString);
return newString;
}