Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
OK, this one is really getting to me. Without using Excel specific
functions, how can I test if I've found the exact match of a word or phrase? I've came up with the code below, which works great in most cases (Test1 and Test2). My problem is I could be testing html source code (Test3). My head hurts, so I post here in hopes of some help. Thanks! Sub tester() Dim vSplit As Variant Dim bExactMatch As Boolean Dim sTest1 As Variant Dim sTest2 As Variant Dim sTest3 As Variant sTest1 = "this is a test, here's the stuff you wanted. " vSplit = Split(sTest1, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test1: " & bExactMatch sTest2 = "this is a test, there's the stuff you wanted. " vSplit = Split(sTest2, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test2: " & bExactMatch sTest3 = "<bhere's</b the stuff you wanted. " vSplit = Split(sTest3, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test3: " & bExactMatch End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
OK, so after writing this question I thought of at least one answer, replace
the tag identifiers with spaces. This might not be the most elegant solution, but it works. If you've got something better, I'd love to see it. Thanks. Sub tester() sTest3 = "<bhere's</b the stuff you wanted. " sTest3 = Replace(sTest3, "", " ") sTest3 = Replace(sTest3, "<", " ") vSplit = Split(sTest3, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test3: " & bExactMatch End Sub <snip |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I might be overlooking something, but what is wrong with using the Instr
function? RBS "Jeremy Gollehon" wrote in message ... OK, this one is really getting to me. Without using Excel specific functions, how can I test if I've found the exact match of a word or phrase? I've came up with the code below, which works great in most cases (Test1 and Test2). My problem is I could be testing html source code (Test3). My head hurts, so I post here in hopes of some help. Thanks! Sub tester() Dim vSplit As Variant Dim bExactMatch As Boolean Dim sTest1 As Variant Dim sTest2 As Variant Dim sTest3 As Variant sTest1 = "this is a test, here's the stuff you wanted. " vSplit = Split(sTest1, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test1: " & bExactMatch sTest2 = "this is a test, there's the stuff you wanted. " vSplit = Split(sTest2, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test2: " & bExactMatch sTest3 = "<bhere's</b the stuff you wanted. " vSplit = Split(sTest3, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test3: " & bExactMatch End Sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I don't know. I think I've gone crazy. Time to stop thinking.
I believe the following function will work in all cases as long as I replace the undesired items that can be surrounding the LookFor words (punctuation and html tag indicators) with spaces before calling it. Thanks RB. Function StrExactMatch(sLookIn As String, sLookFor As String) As Boolean '- Add padding to sLookin in case sLookFor is found ' at the very beginning or very end of the string. '- Add padding to sLookFor to be sure we're getting an exact match StrExactMatch = InStr(" " & sLookIn & " ", " " & sLookFor & " ") 0 End Function RB Smissaert wrote: I might be overlooking something, but what is wrong with using the Instr function? RBS "Jeremy Gollehon" wrote in message ... OK, this one is really getting to me. Without using Excel specific functions, how can I test if I've found the exact match of a word or phrase? I've came up with the code below, which works great in most cases (Test1 and Test2). My problem is I could be testing html source code (Test3). My head hurts, so I post here in hopes of some help. Thanks! Sub tester() Dim vSplit As Variant Dim bExactMatch As Boolean Dim sTest1 As Variant Dim sTest2 As Variant Dim sTest3 As Variant sTest1 = "this is a test, here's the stuff you wanted. " vSplit = Split(sTest1, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test1: " & bExactMatch sTest2 = "this is a test, there's the stuff you wanted. " vSplit = Split(sTest2, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test2: " & bExactMatch sTest3 = "<bhere's</b the stuff you wanted. " vSplit = Split(sTest3, " here's ") bExactMatch = UBound(vSplit) < 0 Debug.Print "Test3: " & bExactMatch End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Find Exact Match using INDEX, MATCH | Excel Worksheet Functions | |||
vlookup and finding text string that's not an exact match | Excel Discussion (Misc queries) | |||
TEST FOR EXACT TEXT | Excel Worksheet Functions | |||
Calculating p-value from Fisher's Exact Test for XYZ parameters | Excel Worksheet Functions | |||
Calculating p-value from Fisher's Exact Test | Excel Worksheet Functions |