# Detecting HEX

How can I detect whether a string contains HEX or not?
LVL 25
###### Who is Participating?

Commented:
You didn't really answer my questions so I'll assume that the string can contain anything and the HEX that you are looking for will be its own word (have spaces on either side or be bounded by the start and/or end of the string) and will be similar to this format: 0x849AB9 where there is a 0 followed by an x followed by a group of hexidecimal digits (0-F).

This function will return a boolean true or false based on whether there is a HEX somewhere in the string or not.  How to use the function is illustrated below it.
Please explain in more detail if this is not what you are looking for.
``````<%
' Input a string into strVal
' Returns boolean indicating if the string contains a hex value
Function containsHEX(strVal)
Dim regExObj
Set regExObj = New RegExp
With regExObj
.Pattern = "\b0[xX][0-9a-fA-F]+\b"
.IgnoreCase = True
.Global = True
End With

containsHEX = regExObj.Test(strVal)
set regExObj = nothing
End Function

Dim testString1, testString2

testString1 = "qoe dlfoi aksfjp iel d,as"
testString2 = "wer 0x8AAF9"

response.Write("testString1 contains HEX: " & containsHEX(testString1) & "<br>")
response.Write("testString2 contains HEX: " & containsHEX(testString2) & "<br>")

%>
``````
0

Commented:
Is there a limited number of things that could be in the string?  For example, is the string any alphabetic letters or just hex letters or is it decimal numbers and/or hex letters?  I guess I'm trying to ask if there is any limitations on what is can possibly be in the string?
Regular expressions are usually a good solution for this type of thing.  If you can let me know the specifics of what might be in the field, I can give you some regular expression code to find what you are looking for.
0

Author Commented:
no limitations
0

Author Commented:
you got it, thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.