When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles
Message Board
Related Web Technologies
User Tips!
Coding Tips

Sample Chapters
Commonly Asked Message Board Questions
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Stump the SQL Guru!
XML Info
Author an Article
ASP ASP.NET ASP FAQs Message Board Feedback
Print this page.
Published: Saturday, October 24, 1998

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:

- continued -

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!

ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article