проблема при обрезке NSstring в цели c в приложении для iPhone - PullRequest
1 голос
/ 24 августа 2011

У меня есть строка типа "qytwyqteqe", я хочу только qytwyqteqe, но не символ ""

Я попытался обрезать эту строку, используя следующий код, но ошибка его выдачи может помочь мне, пожалуйста, спасибо, спасибо вadvance

   [[strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"""  withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

its giving error for this one @""" 
error:  missing terminating ""

отредактировано:

на самом деле у меня есть такой массив

arrConvertedDirNames:(
    "(\n    \"(\\n    \\\"Sudha-feb16-2011-02.30PM\\\"\\n)\"",
    "\n    \"Tharanga-jan16-2011-10.30AM\"\n)\n"
)

я сделал следующие замены для удаления экранирующей последовательности

NSMutableString *strTrimmedDownloadedDirNames = [NSMutableString stringWithFormat:@"%@",[arrDownloadedDirNames objectAtIndex:0]];

     [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"\\\""  withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

    [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"\n"  withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

    [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"\n    \""  withString:@""  options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

    [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"\"\n"  withString:@""  options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

     [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"\\n"  withString:@""  options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

    [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@")"  withString:@""  options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

    [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"("  withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

    [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@")\" "  withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];


     [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"\""  withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];


    [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@" "  withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];

    [strTrimmedDownloadedDirNames replaceOccurrencesOfString:@"\""  withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [strTrimmedDownloadedDirNames length])];
now am getting this array
arrConvertedDirNames:(
    "Sudha-feb16-2011-02.30PM",
    "Tharanga-jan16-2011-10.30AM"
)

но этот массив должен быть таким

arrConvertedDirNames:(
    Sudha-feb16-2011-02.30PM ,
    Tharanga-jan16-2011-10.30AM
)

что можно сделать, чтобы сделать массив таким, пожалуйста, кто-нибудь может мне помочь

Ответы [ 2 ]

4 голосов
/ 24 августа 2011

Вам нужно экранировать ", что означает:

это: replaceOccurrencesOfString:@"""

должно быть: replaceOccurrencesOfString:@"\""

1 голос
/ 06 февраля 2012
NSCharacterSet *charterSet = [NSCharacterSet characterSetWithCharactersInString:@"""];
stringWithoutCurrentSymbol = [stringWithAnySimbols stringByTrimmingCharactersInSet:charterSet];

be осторожно Возвращает новую строку, созданную , удаляя с обоих концов символов получателя, содержащихся в данном наборе символов.

...