Iphone NSString strip regular\escape字符如何使用?

Iphone NSString strip regular\escape字符如何使用?,iphone,ios,ipad,nsstring,escaping,Iphone,Ios,Ipad,Nsstring,Escaping,我需要一段有效的代码来去除转义字符。这是常规转义,而不是HTML转义字符 例如:“\”、“\ \”、“\”、“\ \” 我想要一个通用算法来去除任何类型的转义序列 可以使用任何实用程序,如正则表达式 (NSString*) unescape:(NSString*) string { .... } 这是我写的答案: -(NSString*) unescape:(NSString*) string { for(int i = 0; i < string.len

我需要一段有效的代码来去除转义字符。这是常规转义,而不是HTML转义字符

例如:“\”、“\ \”、“\”、“\ \”


我想要一个通用算法来去除任何类型的转义序列

可以使用任何实用程序,如正则表达式

  (NSString*) unescape:(NSString*) string {

      ....
  }
这是我写的答案:

-(NSString*) unescape:(NSString*) string
{

    for(int i = 0; i < string.length; i++) {
        char a = [string characterAtIndex:i];
        if([string characterAtIndex:i] == '\\' ) {
            string = [string stringByReplacingCharactersInRange:NSMakeRange(i,1) withString:@""];
        }

    }
    return string;
}
-(NSString*)unescape:(NSString*)字符串
{
for(int i=0;i
如果其URL已编码,您可能正在查找:

stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding

尝试使用下面的代码进行HTML转义

(NSString*) unescape:(NSString*) string 
{
    return [string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
为了经常逃跑

(NSString*) unescape:(NSString*) string 
{    
    return [string stringByReplacingOccurrencesOfString:@"\\\"" withString:@"\""];
}
希望这有助于:

-(NSString *)unescape:(NSString *)string 
{
    if ([string rangeOfString:@"\\"].location != NSNotFound)
    {
        [string stringByReplacingCharactersInRange:@"\\" withString:@"\\"];
    }
    else if ([string rangeOfString:@"\\\\"].location != NSNotFound)
    {
        [string stringByReplacingCharactersInRange:@"\\\\" withString:@"\\"];
    }
    else if ([string rangeOfString:@"\\\\"].location != NSNotFound)
    {
        [string stringByReplacingCharactersInRange:@"\\\\" withString:@"\\"];
    }
}

如果您想使用正则表达式,可以尝试使用正则表达式模式
\\\[bntr\\\\\”]
。或者在这里使用任何必需的正则表达式模式

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:
                              @"\\[bntr\\\\"]" options:0 error:nil];

[regex replaceMatchesInString:str options:0 range:NSMakeRange(0, [str length]) withTemplate:@""];

您应该使用的最佳方法是:

- (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set
您可以使用以下方法将其称为:

string = [string stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];

我为我的回答道歉

NSString *_string = @"\\\\ dfsdg \\ tr\\\\t \\\\\\tw\\\\\\\\w\\ t\\ \\\\ \\ \\\\\\  rret\\    \\\\ \\\\\\\\";
NSLog(@"%@", [_string stringByReplacingOccurrencesOfString:@"\\" withString:@""]);

结果是:

 dfsdg  trt tww t     rret     

什么样的逃避角色?有很多类型的逃生系统。C风格?HTML?什么?只是像“\\”@userXXX这样的常规转义。在这种情况下,你可以用“
”\\\\”
等替换
“\\\”
。我想要一个通用算法来去除任何类型的转义序列。像这样的正则表达式如何从字符串中去除,
\[bntr\\\\”]
我想要一个去除任何类型转义序列的通用算法。不仅仅是“\”. 另一个例子:“如果一个字符串包含“\\”,即两个反斜杠,这在转义字符串中很常见,这将无法正常工作。不,我不想这么做。如果那样简单,我自己也会这么做的。我需要一个暴力的方式来扫描每一个字符从开始到结束。。。或使用正则表达式。。。。因此,如果看到“\\\”,则将其替换为长度(“\\\”)除以两个\字符数。。。。。“要查找/替换的用户正则表达式”