Anh chị giúp e tìm số điện thoại trong excel

Liên hệ QC
Mình không biết cách thử như bạn, bạn thử với dạng nầy xem được không? có khoảng trống trong số điện thoại:
Dạng: 320.16kg. Cao 1m53.0169 2974 417 thì kết quả sẽ như thế nào
Mình nói trước rồi bạn, bạn cần repalace hết các ký tự không phải là số trước khi xử lý. Sau đó mới dùng đầu số để kiểm tra. Mình đang bận dịch, chút có thời gian hơn mình sẽ viết lại regex đầy đủ đỡ nhiều bước.
 
Mình nói trước rồi bạn, bạn cần repalace hết các ký tự không phải là số trước khi xử lý. Sau đó mới dùng đầu số để kiểm tra. Mình đang bận dịch, chút có thời gian hơn mình sẽ viết lại regex đầy đủ đỡ nhiều bước.
Sau khi loại bỏ các ký tự không phải là số sẽ được dãy số:
3201615301692974417
016 xuất hiện 2 lần làm sao chọn?
 
Sau khi loại bỏ các ký tự không phải là số sẽ được dãy số:
3201615301692974417
016 xuất hiện 2 lần làm sao chọn?
Chỉ có đầu số 0169 thôi bạn, còn việc những số có hai số 0169 thì bạn đưa nó vào xử lý ngoại lệ. Xử lý ngoại lệ sẽ có thêm hàm len cách ký tự trước và sau 0169, 0168 chẳng hạn.
 
Nhiều dữ liệu dạng "A300 01633886226 1c nha"
Đúng là rắc rối
Vậy xét riêng cho từng trường hợp xem sao:
Mã:
Sub a()
Dim str As String
str = [a1]
With CreateObject("vbscript.regexp")
    ptn = Array("\d{10,11}", "(\d\.?){10,11}", "(\d\s?){10,11}")
    .Global = True
    For i = 0 To UBound(ptn)
        .Pattern = ptn(i)
        If .test(str) Then
            MsgBox .Execute(str)(0)
            Exit For
        End If
    Next
End With
End Sub
 
Web KT
Back
Top Bottom