To read the article online, visit

WebDaily: Your daily source for Web Technology Tips and Tricks!

The String Operators

* This article deals with the VBScript language and Active Server Pages.

Most likely we have all used some of the VBScript string functions, such as InStr, Mid, Left, and Right. There are more string functions which developers are often less familiar with. This email discusses a few of those built-in string functions that get little mention, but are powerful functions nevertheless:

StrComp(string1, string2[, compare])
StrComp compares two string, string1 and string2, and returns the following:

If string1 is less than string2, StrComp returns -1
If string1 is equal to string2, StrComp returns 0
If string1 is greater than string2, StrComp returns 1
If string1 or string2 is Null, StrComp returns Null

The compare defaults to a value of 0, but can take either a 1 or 0:

* A 0 means a binary comparison
* A 1 means a textual comparison

(You can define constants vbBinaryCompare to equal 0, and vbTextCompare to equal 1. Doing this will make your code more readable.)

Dim Name1, Name2, CompareValue
Name1 = "Dan"
Name2 = "Scott"

CompareValue = StrComp(Name1,Name2) ' returns -1
CompareValue = StrComp(Name2,Name1,1) ' returns 1
CompareValue = StrComp(Name1,"Dan",1) ' returns 0
CompareValue = StrComp(Name1,"dan",0) ' returns -1



StrReverse simple reverses the character order of string1.

Dim BackwardsString
BackwardsString = StrReverse("Backwards")
'BackwardString = "sdrawkcaB"


InStrRev(string1, string2[, start[, compare]])

This function is similar to InStr in that it takes similar parameters, just not in the same order. InStrRev is also like InStr in that it returns the position where the substring string2 is found within string1. Unlike InStr, though, InStrRev finds the first occurance of string2 within string1 BEFORE the start position. (Note, if start is omitted, the search starts at the end of string1. Compare is the same as the compare above, where 0 represents a binary comparison, and 1 a textual comparison.)
Let's look at some code:

Dim SearchString, SearchChar, WhereAt
SearchString = "xxxxoxxoxxooox"
SearchChar = "o"

WhereAt = InStrRev(SearchString,SearchChar,6)
'WhereAt = 5, because that is the first occurance of "o" BEFORE character 6

WhereAt = InStrRev(SearchString,SearchChar,2,1)
'WhereAt = 0, since there are NO occurances of "o" before position 2

WhereAt = InStrRev(SearchString,SearchChar)
'WhereAt = 13, since start is omitted it starts at SearchString's end and
'looks for the first occurance of "o" BEFORE the end (which is in position

To subscribe to WebDaily, point your browser to:

Please forward this information to a friend, including the subscription URL! Happy Programming!

Article Information
Article Title: Little Used VBScript String Operators
Article Author: Scott Mitchell
Published Date: Saturday, October 24, 1998
Article URL:

Copyright 2019 QuinStreet Inc. All Rights Reserved.
Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers