#pragma mark - 中文转拼音 (完整版)
- (NSString *)phonetic:(NSString *)sourceString
{
if ([sourceString isEqualToString:@""]) {
return sourceString;
}
NSMutableString *source = [sourceString mutableCopy];
CFStringTransform((__bridge CFMutableStringRef)source, NULL, kCFStringTransformMandarinLatin, NO);
CFStringTransform((__bridge CFMutableStringRef)source, NULL, kCFStringTransformStripDiacritics, NO);
if ([[(NSString *)sourceString substringToIndex:1] compare:@"长"] == NSOrderedSame ) {
[source replaceCharactersInRange:NSMakeRange(0, 5) withString:@"chang"];
}
if ([[(NSString *)sourceString substringToIndex:1] compare:@"沈"] == NSOrderedSame) {
[source replaceCharactersInRange:NSMakeRange(0, 4) withString:@"shen"];
}
if ([[(NSString *)sourceString substringToIndex:1] compare:@"厦"] == NSOrderedSame) {
[source replaceCharactersInRange:NSMakeRange(0, 3) withString:@"xia"];
}
if ([[(NSString *)sourceString substringToIndex:1] compare:@"地"] == NSOrderedSame) {
[source replaceCharactersInRange:NSMakeRange(0, 2) withString:@"di"];
}
if ([[(NSString *)sourceString substringToIndex:1] compare:@"重"] == NSOrderedSame) {
[source replaceCharactersInRange:NSMakeRange(0, 5) withString:@"chong"];
}
return source;
}