Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Find last occurence of a string 2

Status
Not open for further replies.

fcjm

Programmer
Jan 15, 2001
19
0
0
PH
Is there a function or a short way to find the last occurence of a word in a string? For example I want to find the last position of "VB" in the string "VB 6.0 is a better version of VB 5.0". I should get 30 as the position of VB and not 1. Any ideas? Thanks.
 
Hi there, you may want to try the InStrRev Function
Returns the position of an occurrence of one string within another, from the end of string.

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

It works like instr, but starts from the end of the string instead.

The following examples use the InStrRev function to search a string:

Example

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
MyPos = InstrRev(SearchString, SearchChar, 10, 0) ' A binary comparison starting at position 10. Returns 9.
MyPos = InstrRev(SearchString, SearchChar, -1, 1) ' A textual comparison starting at the last position. Returns 12.
MyPos = InstrRev(SearchString, SearchChar, 8) ' Comparison is binary by default (last argument is omitted). Returns 0.


Transcend
[gorgeous]

 
MyStr = "VB 6.0 is a better version of VB 5.0"
? InStrRev( MyStr, "VB")
31


but then Strings in VB are not Zero based?

MichaelRed
m.red@att.net

Searching for employment in all the wrong places
 
Thanks a lot. Sorry it's really 31.. I just had a wrong count. Thanks to both of you.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top