如何截取字符串裏面的所有數字

在網上找了很長時間還是沒有找到,於是我再次請教了老師

    NSString *string =@“1225ji90786yhji0uujnbgvdfdssxde23@#TG¥……&888imu67”;

    //正則表達式

    NSRegularExpression *regex = [NSRegularExpressionregularExpressionWithPattern:@"\\d+"options:NSRegularExpressionCaseInsensitiveerror:nil];

//d+是正則表達式的表示方法

斜槓表示反編輯----不怎麼懂

尋找匹配的字符串存入數組

    NSArray *arr = [regexmatchesInString:string options:NSMatchingReportProgressrange:NSMakeRange(0, string.length)];

  

   NSString * numberStr = [[NSStringalloc]init];

   NSString *subString ;


    NSMutableArray *muarray =[[NSMutableArrayalloc]init]; ;

    數組遍歷

        for (NSTextCheckingResult *resultin arr)

         {

             subString = [stringsubstringWithRange:result.range];

把遍歷之後的結果放在可變數組裏

             [muarrayaddObject:subString];

    }

    //所有元素用-分開

    numberStr = [muarraycomponentsJoinedByString:@"-"];

    

    NSLog(@"%@",numberStr);

這是老師寫的,說實話,前面完全不懂

講解了之後才知道,前面使用了正則表達式

什麼是正則表達式呢?

百度是這樣說的:

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。
我是理解爲一種規則來規範這些字符串




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章