Tolecen Tolecen - 25 days ago 7
Objective-C Question

transform punctuation form half width to full width

I have a sentence below:

我今天去买菜,买了一个西瓜,花了1.2元,买了一个土豆,花了3.78元。还买了一个无花果,花了45.89,怎么办呢?好贵呀!贵的我不知道再买什么了。

punctuations in it are half width, How to change to fullwidth, make sentence like below:

我今天去买菜,买了一个西瓜,花了1.2元,买了一个土豆,花了3.78元。还买了一个无花果,花了45.89,怎么办呢?好贵呀!贵的我不知道再买什么了。

Some punctuations to consider (not exhaustive):


  • , to ,

  • ? to ?

  • ! to !

  • "" to “”

  • ; to ;


Answer Source

you can use CFStringTransform like :

Objective C :

NSString *string = @" ? \"\"!我今天去买菜,买了一个西瓜,花了1.2元,买了一个土豆,花了3.78元。还买了一个无花果,花了45.89,怎么办呢?好贵呀!贵的我不知道再买什么了";
    NSMutableString *convertedString = [string mutableCopy];
    CFStringTransform((CFMutableStringRef)convertedString, NULL, kCFStringTransformFullwidthHalfwidth, true);

    NSLog(@"%@",convertedString);

Swift 3.0 :

 let string = NSMutableString( string: " ? \"\"!我今天去买菜,买了一个西瓜,花了1.2元,买了一个土豆,花了3.78元。还买了一个无花果,花了45.89,怎么办呢?好贵呀!贵的我不知道再买什么了" )
        CFStringTransform( string, nil, kCFStringTransformFullwidthHalfwidth, true )

        print(string)