如何从iPhone中的NSString中删除某些字符


NSString *Address = [placemark.addressDictionary objectForKey:@"FormattedAddressLines"];
NSLog(@"Address:%@", Address);
Address: ("Hooker Alley","San Francisco, CA 94108",USA)

我想从地址字符串中删除一些字符,例如胡克巷,旧金山,CA 94108,USA。如何像这样删除?请帮助我

提前致谢

我试过这个:

NSString *removeCharacter = [Address stringByReplacingOccurrencesOfString:@"(" withString:@""];

但是错误出现在第一次抛出调用堆栈中:

错误消息是,

-[__NSArrayM stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent to instance 0x81afd00 

试试这个,

NSArray *addressArray = [placemark.addressDictionary objectForKey:@"FormattedAddressLines"];
NSString *address = [addressArray componentsJoinedByString:@", "];
NSLog(@"Address:%@", address);

在您的情况下,[placemark.addressDictionary objectForKey:@"FormattedAddressLines"]返回一个数组而不是单个字符串。您可以尝试将这些数组组件联接为单个字符串,如上所示。或者,您也可以检查

id object = [placemark.addressDictionary objectForKey:@"FormattedAddressLines"];
if([object isKindOfClass[NSArray class]]) {
  //handle as above
} else if([object isKindOfClass[NSString class]]) {
  //use your code
}

您可以删除以下内容:-

 NSString *s = @"$$$hgh$g%k&fg$$tw/-tg";
    NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"-/:;()$&@".,?!'[]{}#%^*+=_|~<>€£¥•."];
    s = [[s componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];
    NSLog(@"String is: %@", s);

使用如下isKindOfClass检查addressDictionary objectForKey提供的输出:

if([[placemark.addressDictionary objectForKey:@"FormattedAddressLines"] isKindOfClass[NSArray class]])
{
  NSArray *address=[placemark.addressDictionary objectForKey:@"FormattedAddressLines"];
  NSLog(@"Address:%@",Address);
  NSString *str = [address componentsJoinedByString: @","]
  NSLog(@"str:%@",str);
}

试试这个一次....它会帮助你

 NSString *unfilteredString = @"!@#$%^&*()_+|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
NSCharacterSet *notAllowedChars = [NSCharacterSet characterSetWithCharactersInString:@"1234567890"];
NSString *resultString = [[unfilteredString componentsSeparatedByCharactersInSet:notAllowedChars] componentsJoinedByString:@""];
NSLog (@"Result: %@", resultString);
    NSArray *Address=[placemark.addressDictionary objectForKey:@"FormattedAddressLines"];
     NSLog(@"Address:%@",Address);
     NSMutableString *myString = [[NSMutableString alloc]init];
    for(int i = 0 ; i < [Address count] ; i++){
    [myString appendString:[Address objectAtIndex:i]];

    if (i < [Address count]  ){
    [myString appendString:@","];
       }
 }
NSLog(@"%@",myString);

最新更新