joe*_*zuu 2 objective-c nsstring
我想知道如何在NSString或NSMutableString中反转字符的大小写,忽略非字母字符.例如,"HeLLO jIM66"将成为"hEllo Jim66".
我知道有关uppercaseString,lowercaseString和capitalizedString但我还没弄清楚如何反转字符串中所有字母的大小写.
谢谢你的帮助!
只需遍历字符串中的所有字符.如果字符是大写的,请用小写字母替换它; 如果它是小写的,请用大写字母替换它; 否则,不管它.例如:
+ (NSString *) reverseCase:(NSString *)str
{
int length = [str length];
NSMutableString *result = [NSMutableString stringWithCapacity:length];
for (int i = 0; i < length; i++)
{
unichar ch = [str characterAtIndex:i];
if (islower(ch))
ch = toupper(ch);
else if (isupper(ch))
ch = tolower(ch);
[result appendString:[NSString stringWithCharacters:&ch length:1]];
}
return result;
}
Run Code Online (Sandbox Code Playgroud)