如何去掉String的前后空格或某些字符

来源:互联网 发布:yii 连接数据库 编辑:程序博客网 时间:2024/06/06 04:23
#import <Foundation/Foundation.h>@interface NSString (TrimmingAdditions)/** *  去掉字符串左边的特定字符 * *  @param characterSet 需要去除的特定字符集 * *  @return 去除后的字符串 */- (NSString *)stringByTrimmingLeftCharactersInSet:(NSCharacterSet *)characterSet;/** *  去掉字符串右边的特定字符 * *  @param characterSet 需要去除的特定字符集 * *  @return 去除后的字符串 */- (NSString *)stringByTrimmingRightCharactersInSet:(NSCharacterSet *)characterSet;@end


@implementation NSString (TrimmingAdditions)- (NSString *)stringByTrimmingLeftCharactersInSet:(NSCharacterSet *)characterSet {    NSUInteger location = 0;    NSUInteger length = [self length];    unichar charBuffer[length];    //This method is unsafe because it could potentially cause buffer overruns.    //[self getCharacters:charBuffer];    [self getCharacters:charBuffer range:NSMakeRange(location, length)];    for (location = 0; location < length; location++) {        // charBuffer[i] 是 字符对应的ASCII值        //DLog(@"charBuffer = %hu", charBuffer[location]);        if (![characterSet characterIsMember:charBuffer[location]]) {            break;        }    }    return [self substringWithRange:NSMakeRange(location, length - location)];}- (NSString *)stringByTrimmingRightCharactersInSet:(NSCharacterSet *)characterSet {    NSUInteger location = 0;    NSUInteger length = [self length];    unichar charBuffer[length];    //[self getCharacters:charBuffer];    [self getCharacters:charBuffer range:NSMakeRange(location, length)];    for (length = [self length]; length > 0; length--) {        if (![characterSet characterIsMember:charBuffer[length - 1]]) {            break ;        }    }    return [self substringWithRange:NSMakeRange(location, length - location)];}@end



0 0
原创粉丝点击