|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
How to identiy numerics in a string?Hello,
I have a situation that I need to be able to identify if there are any numerical values in a string variable that might have numerics including charecters. For instanse Dim strValue as stirng strValue = "Inside Diameter=9" then how to identify the numerical value 9 in it. Thanks -L "Learner" <pra***@gmail.com> wrote in news:1164140977.980534.137720 @h48g2000cwc.googlegroups.com:> Hello, Use regular expressions to search for numerics [0-9](1,) (numeric number 1 > I have a situation that I need to be able to identify if there are > any numerical values in a string variable that might have numerics > including charecters. > > For instanse Dim strValue as stirng > > strValue = "Inside Diameter=9" > > then how to identify the numerical value 9 in it. char or longer)
Show quote
Hide quote
"Spam Catcher" <spamhoneypot@rogers.com> schreef in bericht And if you do not like to use regular expressions something like:news:Xns98829F62B32C4usenethoneypotrogers@127.0.0.1... > "Learner" <pra***@gmail.com> wrote in news:1164140977.980534.137720 > @h48g2000cwc.googlegroups.com: > >> Hello, >> I have a situation that I need to be able to identify if there are >> any numerical values in a string variable that might have numerics >> including charecters. >> >> For instanse Dim strValue as stirng >> >> strValue = "Inside Diameter=9" >> >> then how to identify the numerical value 9 in it. > > Use regular expressions to search for numerics [0-9](1,) (numeric number 1 > char or longer) For i As Short = 0 To st.Length - 1 Select Case Asc(st.Substring(i, 1)) Case 48 To 57 'This is a numeric value End Select Next will also work. Groeten, Jaap
Show quote
Hide quote
"Jaap Bos" <jaap.bosSPAMMERSWILLBESHOT@xs4all.invalid> wrote in This is pretty slow ;-)news:45636b88$0$338$e4fe514c@news.xs4all.nl: > And if you do not like to use regular expressions something like: > > For i As Short = 0 To st.Length - 1 > > Select Case Asc(st.Substring(i, 1)) > > Case 48 To 57 > > 'This is a numeric value > > End Select > > Next > > > > will also work. \
> I doubt it, did you test it?> This is pretty slow ;-) Often the regex is 100 times slower than a well done loop. How do you think that the regex does its work behind the scene. Cor Cor Ligthert [MVP] wrote:
> \ It loads Perl?> > > > This is pretty slow ;-) > > I doubt it, did you test it? > > Often the regex is 100 times slower than a well done loop. > How do you think that the regex does its work behind the scene. :) B.Somebody might take this opportunity to time the various solutions. I tend
to think the regex will be slower as well. On the other hand... the FOR loop isn't terminating early if it finds a hit and (the request was a bit ambiguous) but it doesn't actually identify if there is a "9" in it. If the OP meant by citing that example that "it has a digit" (returning boolean) that's one thing if he wants to know where the digit(s) are or to retrieve the entire numeric value that would be another. I'm not going to write it (done that too many times now) but I'd suggest a while loop that does terminate when a value has been found. And I'd opt for having the value it found returned (probably in string format) to accommodate the "not found" response. Somebody might like to consider handling negative numbers as well. Won't happen on an "inside diameter" of course but it could in other situations. And perhaps the comma and period separators as well, as with; "Inside Diameter=8.5" Tom Show quoteHide quote "Jaap Bos" <jaap.bosSPAMMERSWILLBESHOT@xs4all.invalid> wrote in message news:45636b88$0$338$e4fe514c@news.xs4all.nl... > > "Spam Catcher" <spamhoneypot@rogers.com> schreef in bericht > news:Xns98829F62B32C4usenethoneypotrogers@127.0.0.1... >> "Learner" <pra***@gmail.com> wrote in news:1164140977.980534.137720 >> @h48g2000cwc.googlegroups.com: >> >>> Hello, >>> I have a situation that I need to be able to identify if there are >>> any numerical values in a string variable that might have numerics >>> including charecters. >>> >>> For instanse Dim strValue as stirng >>> >>> strValue = "Inside Diameter=9" >>> >>> then how to identify the numerical value 9 in it. >> >> Use regular expressions to search for numerics [0-9](1,) (numeric number >> 1 >> char or longer) > > And if you do not like to use regular expressions something like: > > For i As Short = 0 To st.Length - 1 > > Select Case Asc(st.Substring(i, 1)) > > Case 48 To 57 > > 'This is a numeric value > > End Select > > Next > > > > will also work. > > > > Groeten, > > Jaap > > > > > > Hello,
Thank you for the quick replies. I am not sure how to use regular expressions to check for the numericals in a string. Could you please explain with an example. Thanks in advance. -L Spam Catcher wrote: Show quoteHide quote > "Learner" <pra***@gmail.com> wrote in news:1164140977.980534.137720 > @h48g2000cwc.googlegroups.com: > > > Hello, > > I have a situation that I need to be able to identify if there are > > any numerical values in a string variable that might have numerics > > including charecters. > > > > For instanse Dim strValue as stirng > > > > strValue = "Inside Diameter=9" > > > > then how to identify the numerical value 9 in it. > > Use regular expressions to search for numerics [0-9](1,) (numeric number 1 > char or longer) Here you go:
' ' Declare your regex. We want any number in a given string ' dim r as new System.Text.RegularExpressions.Regex("(?<number>\d+)") ' ' Get your input ' dim test as string = "Inside Diameter=9" ' ' Do the capture ' dim result as string = r.Match(test).Groups("number").Value On 21 Nov 2006 13:38:25 -0800, "Learner" <pra***@gmail.com> wrote: Bits.Bytes.>Hello, > Thank you for the quick replies. I am not sure how to use regular >expressions to check for the numericals in a string. Could you please >explain with an example. > -- http://bytes.thinkersroom.com
IN Function ?
Recommendations - VB .Net courses/seminars another vb .net xml question "Attempted to read or write protected memory" since 10 days... ADO.NET Rowfilter - between 2 dates PDF Creation components "Four" to 4 How to deploye SQL 2005 Express with my application Call or Not Call Install errors during a Fix install |
|||||||||||||||||||||||