• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 180
  • Last Modified:

function to see if a word has a number in it

I need to see if a word has any numerals in it:

"String!"= false
"string12" = true
"1245" =true
"1245six"=true
"str13str"=true

not sure how to do that part

I can grab the strings and split them and put them into an array

not sure how to achieve the function.
am in vba
0
PeterBaileyUk
Asked:
PeterBaileyUk
  • 3
  • 3
  • 2
  • +1
3 Solutions
 
Dale FyeCommented:
? (" " & "asd1" & " ") like "*[1-9]*"
0
 
PeterBaileyUkAuthor Commented:
i need to test within a for loop in vba

for the second word in the wordarray(index)

check if word has numerals
if yes out true

next wordarray
0
 
PeterBaileyUkAuthor Commented:
hence need of a function
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
Rey Obrero (Capricorn1)Commented:
dim j as integer
for j=1 to len(wordarray(index))
      if isnumeric(mid(wordarray(index),j,1)) then
         numberexists=true
         exit for
      end if
next
0
 
Dale FyeCommented:
Rey,

he didn't say he wanted to know whether it isNumeric() the OP stated "I need to see if a word has any numerals in it", with examples of:

"String!"= false
"string12" = true

Peter, since you done describe the for loop criteria, here is an example

For intloop = 1 to intSomething

   If WordArray(1) LIKE "*[0-9]*" Then
       'do something here
   Endif

Next
0
 
Rey Obrero (Capricorn1)Commented:
Dale,
better read the codes I posted carefully..
0
 
Dale FyeCommented:
My bad, thought you were looping through his array.

Still, way more cumbersome than a simple Like comparison.

Dale
0
 
MacroShadowCommented:
Or you can use regular expressions:
Sub Demo()
    Dim strArray() As String
    Dim i As Integer

    strArray = Split("String! string12 1245 1245six str13str", " ")

    For i = LBound(strArray) To UBound(strArray)
        If fContainsNumerals(strArray(i)) Then
            MsgBox "Array element " & i & ": " & strArray(i) & " contains numerals!"
        Else
            MsgBox "Array element " & i & ": " & strArray(i) & " doesn't contains numerals!"
        End If
    Next
End Sub

Function fContainsNumerals(ByVal strInput As String) As Variant

    With CreateObject("VbScript.RegExp")
        .Global = True
        .Pattern = "[^\D]"
        fContainsNumerals = .test(strInput)
    End With

End Function

Open in new window

0
 
PeterBaileyUkAuthor Commented:
ok guys i have shared the points hope that remains acceptable.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 3
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now