String Function 'Like' and Special Characters

  • Thread starter Thread starter Vagabond Software
  • Start date Start date
V

Vagabond Software

I'm trying to find string values that start with a bracket ("[") character. However, I know the bracket character serves a special purpose in regular expressions and string functions.

For example, the first rKeyName.Value is "[paths]", but in the following code snippet; the IF statement produces an error and all combinations of apostrophes, quotes, and backslashes that I have tried don't match "[paths]".


VB:
------------------------------------------------------------------------------
For Each rKeyName In rKeySection
If rKeyName.Value Like "[*" Then
strKeySection = rKeyName.Value
Else
strKeyName = rKeyName.Value
strKeyValue = rKeyName.Offset(0, 1).Value
oConfigData.Add strKeySection, strKeyName, strKeyValue
End If
Next
------------------------------------------------------------------------------


Thanks in advance,

Carl
 
Hi
try
If rKeyName.Value Like "~[*" Then
-----Original Message-----
I'm trying to find string values that start with a
bracket ("[") character. However, I know the bracket
character serves a special purpose in regular expressions
and string functions.
For example, the first rKeyName.Value is "[paths]", but
in the following code snippet; the IF statement produces
an error and all combinations of apostrophes, quotes, and
backslashes that I have tried don't match "[paths]".
VB:
---------------------------------------------------------- --------------------
For Each rKeyName In rKeySection
If rKeyName.Value Like "[*" Then
strKeySection = rKeyName.Value
Else
strKeyName = rKeyName.Value
strKeyValue = rKeyName.Offset(0, 1).Value
oConfigData.Add strKeySection, strKeyName, strKeyValue
End If
Next
---------------------------------------------------------- --------------------


Thanks in advance,

Carl
.
 
The '~' didn't work, but thanks for the help. I ended up using the Left(rKeyName.Value, 1) = "[" comparison. That worked, but I would still like to know how to get the Like function to work with special characters.

Thanks,

Carl

Frank Kabel said:
Hi
try
If rKeyName.Value Like "~[*" Then
-----Original Message-----
I'm trying to find string values that start with a
bracket ("[") character. However, I know the bracket
character serves a special purpose in regular expressions
and string functions.
For example, the first rKeyName.Value is "[paths]", but
in the following code snippet; the IF statement produces
an error and all combinations of apostrophes, quotes, and
backslashes that I have tried don't match "[paths]".
VB:
---------------------------------------------------------- --------------------
For Each rKeyName In rKeySection
If rKeyName.Value Like "[*" Then
strKeySection = rKeyName.Value
Else
strKeyName = rKeyName.Value
strKeyValue = rKeyName.Offset(0, 1).Value
oConfigData.Add strKeySection, strKeyName, strKeyValue
End If
Next
---------------------------------------------------------- --------------------


Thanks in advance,

Carl
.
 
from VBA's (xl2002) help for Like:

Note To match the special characters left bracket ([), question mark (?),
number sign (#), and asterisk (*), enclose them in brackets. The right bracket
(]) can't be used within a group to match itself, but it can be used outside a
group as an individual character.

Vagabond said:
The '~' didn't work, but thanks for the help. I ended up using the Left(rKeyName.Value, 1) = "[" comparison. That worked, but I would still like to know how to get the Like function to work with special characters.

Thanks,

Carl

Frank Kabel said:
Hi
try
If rKeyName.Value Like "~[*" Then
-----Original Message-----
I'm trying to find string values that start with a
bracket ("[") character. However, I know the bracket
character serves a special purpose in regular expressions
and string functions.
For example, the first rKeyName.Value is "[paths]", but
in the following code snippet; the IF statement produces
an error and all combinations of apostrophes, quotes, and
backslashes that I have tried don't match "[paths]".
VB:
---------------------------------------------------------- --------------------
For Each rKeyName In rKeySection
If rKeyName.Value Like "[*" Then
strKeySection = rKeyName.Value
Else
strKeyName = rKeyName.Value
strKeyValue = rKeyName.Offset(0, 1).Value
oConfigData.Add strKeySection, strKeyName, strKeyValue
End If
Next
---------------------------------------------------------- --------------------


Thanks in advance,

Carl
.
 
Back
Top