iOS常用

Swift 字符串去掉特殊字符

2019-02-19  本文已影响0人  DamonLu

最近在项目遇到这样的需求:在校验字符串时,需要去掉其中的特殊字符和空格。首先想到的的就是用正则表达式

正则
正则.png
使用
extension String {
    func deleteSpecialCharacters() -> String {
        let pattern: String = "[^a-zA-Z0-9\u{4e00}-\u{9fa5}]"
        let express = try! NSRegularExpression(pattern: pattern, options: .caseInsensitive)
        return express.stringByReplacingMatches(in: self, options: [], range: NSMakeRange(0, self.count), withTemplate: "")
    }
}
//使用
var str = " Hello, playgr《、/.,ou nd**123圣诞节付款 "
print(str.deleteSpecialCharacters())
//输出结果
//Helloplayground123圣诞节付款
+ (NSString *)deleteSpecialCharacters:(NSString *)targetString {
    if (targetString.length == 0 || !targetString) {
        return nil;
    }
    NSError *error = nil;
    NSString *pattern = @"[^a-zA-Z0-9\u4e00-\u9fa5]";//正则取反
    NSRegularExpression *regularExpress = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&error];//这个正则可以去掉所有特殊字符和标点
    NSString *string = [regularExpress stringByReplacingMatchesInString:targetString options:0 range:NSMakeRange(0, [targetString length]) withTemplate:@""];
    return string;
}

上一篇 下一篇

猜你喜欢

热点阅读