Page 1 of 1

ผมต้องการจะเอาเฉพาะตัวเลข ส่วนตัวอักษรไม่เอา ต้องปรับโค้ดอย่างไรครับ

Posted: Thu Jul 21, 2022 5:02 pm
by 10idlnw
ผมต้องการดึงเอาเฉพาะตัวเลขเท่านั้น ใน str ไม่ว่าจะเป็นข้อความใดๆตั้งแต่ [a-z] จะต้องถูกตัดออกโดยอัตโนมัติ ต้องปรับโค้ดนี้อย่างไรครับ

Code: Select all

Sub splitStrFromNum()

Dim str As String, t As String

'ข้อความตัวอย่าง ไม่ว่าจะเป็นตัวอะไรที่มี [a-z] จะถูกตัวออกหมดเหลือแค่ 2520
'เช่น sdfsfd2520 = 2520, werww2520 = 2520 เป็นต้น
str = "hello2520"


t = ""

'ถ้าข้อความมีอักขระ [a-z] ให้ทำต่อไปนี้
If str Like "[a-z]" Then

    'ตัวแปร t มีค่าเท่ากับ  t & str
    t = t & str

End If

MsgBox "ข้อความใหม่คือ " & t
'ต้องการผลลัพธ์ ข้อความใหม่คือ 2520
End Sub

Re: ผมต้องการจะเอาเฉพาะตัวเลข ส่วนตัวอักษรไม่เอา ต้องปรับโค้ดอย่างไรครับ

Posted: Thu Jul 21, 2022 6:47 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
Dim i As Integer, x As String
    'ข้อความตัวอย่าง ไม่ว่าจะเป็นตัวอะไรที่มี [a-z] จะถูกตัวออกหมดเหลือแค่ 2520
    'เช่น sdfsfd2520 = 2520, werww2520 = 2520 เป็นต้น
    str = "hello2520"
    
    t = ""
    
    For i = 1 To Len(str)
        x = Mid(str, i, 1)
        If IsNumeric(x) Then
            t = t & x
        End If
    Next i
'Other code

Re: ผมต้องการจะเอาเฉพาะตัวเลข ส่วนตัวอักษรไม่เอา ต้องปรับโค้ดอย่างไรครับ

Posted: Fri Jul 22, 2022 9:36 am
by 10idlnw
ใช้งานได้ตรงความต้องการ ขอบคุณมากครับอาจารย์