下面是代碼,將做你想做的,更新的處理數字:
NSString *original = @"My computer is on fire at 9:00 AM! What should I do?";
NSString *swapString = @"boss";
NSMutableString *modified = [NSMutableString stringWithCapacity:[original length]];
__block NSUInteger lastCharOffset = 0;
[original enumerateSubstringsInRange:NSMakeRange(0, [original length]) options:NSStringEnumerationByWords // NSStringEnumerationByComposedCharacterSequences // | NSStringEnumerationSubstringNotRequired
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop)
{
//NSLog(@"SUBSTRING %@", substring);
NSString *replaceString = substring;
if([substring length] > 2) {
unichar origChar = [substring characterAtIndex:0];
if(![[NSCharacterSet decimalDigitCharacterSet] characterIsMember:origChar]) {
replaceString = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:origChar] ? [swapString capitalizedString] : swapString;
}
}
if(substringRange.location) {
[modified appendString:[original substringWithRange:NSMakeRange(lastCharOffset, substringRange.location-lastCharOffset)]];
}
[modified appendString:replaceString];
lastCharOffset = substringRange.location + substringRange.length;
} ];
// Grab any trailing punctuation
[modified appendString:[original substringWithRange:NSMakeRange(lastCharOffset, [original length] - lastCharOffset)]];
NSLog(@"Orig: %@", original);
NSLog(@"Modi: %@", modified);
輸出是:
Orig: My computer is on fire at 9:00 AM! What should I do?
Modi: My boss is on boss at 9:00 AM! Boss boss I do?
@「我的電腦着火了我該怎麼辦? 「 - 當你發現它時,告訴大家它被着火了。 –
該功能的問題是什麼?提供一個你想要它輸出什麼和實際輸出的例子對我們這些試圖幫助你的人是非常有幫助的。 – lnafziger
對我要輸出的輸出進行編輯。 – user2175433