[英]How to remove some character from NSString in iPhone?
NSString *Address = [placemark.addressDictionary objectForKey:@"FormattedAddressLines"];
NSLog(@"Address:%@", Address);
Address: ("Hooker Alley","San Francisco, CA 94108",USA)
我想从地址字符串中删除一些字符,例如Hooker Alley,San Francisco,CA 94108,USA。 如何删除这样的? 请帮我
提前致谢
我尝试了这个:
NSString *removeCharacter = [Address stringByReplacingOccurrencesOfString:@"(" withString:@""];
但是错误出现在First throw调用堆栈中:
错误消息是,
-[__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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.