заменить символы в строке - PullRequest
0 голосов
/ 14 октября 2010

У меня есть жало, в котором я хочу заменить все символы (кроме специальных символов) на X .. Я имею в виду, если у меня есть строка str = mac, iphone и ipad являются продуктами apple

они должныбыть преобразованным в

str = XXX, XXXXXX & XXXX XXX XXXXXXXX XX XXXXX

я знаю, что это можно сделать, найдя все специальные символы и отметив их положение, а затем заменив все другие символы, кроме этих специальныхсимволы, но есть так много специальных символов, я должен проверить их один за другим?или есть какой-то другой способ их идентификации

, пожалуйста, помогите

Ответы [ 5 ]

6 голосов
/ 14 октября 2010

NSString * str = @ "mac, iphone & ipad";

for(int i=0;i<[str length];i++)
{
    int str1=(int)[str characterAtIndex:i];
    NSString *temp=[NSString stringWithFormat:@"%C",str1];

    if(str1 >96 && str1 <123  || str1 >64 && str1 <91)

        str = [str stringByReplacingOccurrencesOfString:temp withString:@"X"];
}

Надеюсь, это поможет ... Это заменит все символы в верхнем / нижнем регистре

2 голосов
/ 23 октября 2010
NSString *s = @"foo/bar:baz.foo";
NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"/:."];
s = [[s componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];
NSLog(@"%@", s); 

Попробуйте это.Это более полезно, когда приведенные выше способы не заменяют символы.

1 голос
/ 23 октября 2010
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    if(TextFound)
    {
        NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"/<br />"];
        string = [[string componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];

        TextStr = [TextStr stringByAppendingString:string];
    }
}

Когда я делал это при анализе, в тексте показывался символ перевода строки.Я попробовал способ stringbyrlacingoccurance строки, но ничего не произошло, так что в конце концов это сработало.

1 голос
/ 14 октября 2010
[Nsstring stringByReplacingOccurrencesOfString:@"" withString:@"X"];

из этого вы можете заменить строку в соответствии с моими знаниями

0 голосов
/ 14 октября 2010

Я бы использовал регулярное выражение. Ознакомьтесь с документацией для NSRegularExpression

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...