1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

UDF Tìm string nằm giữa 2 string

Thảo luận trong 'Chia sẻ mã nguồn' bắt đầu bởi Tungtata, 24/10/17.

  1. Tungtata

    Tungtata Tà tà mà sống ~ Thành viên BQT Administrator
    • 93/113

    Tham gia ngày:
    25/8/15
    Bài viết:
    289
    Đã được thích:
    924
    Nơi ở:
    Hà Nội
    Một ngày đẹp trời mình nghĩ, việc những function nhỏ do mình tạo ra phục vụ công việc riêng có thể sẽ có ích cho người khác
    Bên diễn đàn autoitscript hiện share khá nhiều những function như này hoặc dạng UDF. Vì vậy từ nay mình sẽ share nếu cảm thấy những function đó có ích, bạn cũng có thể làm như vậy

    Chức năng: lấy một string nằm giữa 2 string xác định
    Có một function có chức năng tương tự là _StringBetween nhưng nhược điểm là nếu tìm thấy sẽ trả về array, còn không thấy lại trả về số vì vậy hay gặp lỗi nếu như bạn không quản lý ngoại lệ tốt

    Ngoài ra function có thể get từ 1 giá trị đến cuối thì khi khai báo đặt $end = "", ngược lại với $start
    Sẽ trả về chuỗi rỗng "" nếu không tìm thấy giá trị, tránh lỗi
    Dưới đây là function

    Mã (AutoIt):

    Func _GetStr($str, $start = "", $end = "")
        Local $LenStart = StringLen($start)
        If $start = "" Then
            Local $Pstart = 1
        Else
            Local $a = StringInStr($str, $start)
            If $a == 0 Then Return -1
            Local $Pstart = $a + $LenStart
        EndIf
        If $end = "" Then
            Local $Pend = StringLen($str) + 1
        Else
            Local $Pend = StringInStr($str, $end, 0, 1, $Pstart)
            If $Pend == 0 Then Return -2
        EndIf
        Return StringMid($str, $Pstart, $Pend - $Pstart)
    EndFunc   ;==>_GetStr
     
     
    đoài, tuoitre and Huân Hoàng like this.

Chia sẻ trang này

Đang tải...