iOS 標點符號半形與全形轉換
阿新 • • 發佈:2019-02-15
在iOS開發中,可能會遇到伺服器給客戶端返回的字串中包含全形或半形的標點,當我們需要以這些標點符號分割字串時,因為符號不一致,可以會導致分割失敗,解決辦法一是讓後臺做處理,標點符號統一,但是弊端是如果專案工程比較大,後臺處理起來也比較麻煩,也有可能沒修改全;解決辦法二是客戶端做處理,將標點符號統一,也就不會出現上面的問題了。解決方法是建立NSString的分類,具體如下程式碼
#import <Foundation/Foundation.h>
@interface NSString (X)
/**
全形轉半形
@return 轉化後的文字
*/
- (NSString *)replaceSpecialWhitespace;
/**
半形轉全形
@return 轉化後的文字
*/
- (NSString *)replaceNormalWhiteSpace;
@end
#import "NSString+X.h"
@implementation NSString (X)
- (NSString *)replaceSpecialWhitespace{
NSMutableString *convertedString = [self mutableCopy];
CFStringTransform((CFMutableStringRef)convertedString, NULL, kCFStringTransformFullwidthHalfwidth, false);
return [NSString stringWithString:convertedString];
}
- (NSString *)replaceNormalWhiteSpace{
NSMutableString *convertedString = [self mutableCopy];
CFStringTransform((CFMutableStringRef)convertedString, NULL, kCFStringTransformHiraganaKatakana, false);
return [NSString stringWithString:convertedString];
}
@end