iOS 正則表達式去除特殊符號


1、眾所周知,正則表達式如果利用得當的話,其實用性還是相當強大的 ,基本上目前所有的預研都是支持正則表達式的 ,無非是對語法的支持不同。

2、在實際應用中 ,我們可能需要去截取遇到第一個特殊字符之前的文字 ,此時就需要用到正則表達式 ,畢竟特殊符號那么多 ,如果真有人用多個if去操作的話,只能說刷新了我的認知!

話不多說,附上代碼

- (NSString *)getNewSubStoreNameByRegularExpression:(NSString *)storeName{
    NSError *error = NULL;
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[-()()—”“$&@%^*?+?=|{}?【】???¥!!.<>/:;:;、,,。]" options:NSRegularExpressionCaseInsensitive | NSRegularExpressionDotMatchesLineSeparators | NSRegularExpressionAnchorsMatchLines | NSRegularExpressionAllowCommentsAndWhitespace error:&error];
    NSString *result = [regex stringByReplacingMatchesInString:storeName options:0 range:NSMakeRange(0, [storeName length]) withTemplate:@"pk"];
    return [result componentsSeparatedByString:@"pk"].firstObject;
}

  

上述代碼的意思是先將特殊字符換成pk,然后以pk為關鍵字進行分割,並取第一個元素。

細心的小伙伴會發現特殊字符中並沒有包含“#”字符,“#” 作為字符包含在正則表達式中,將導致整個正則表達式驗證失敗,此結論還是我通過二分法找出來的。故將“#”從表達式中移除


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM