Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Beginner
Mar 21, 1997



Scanning for Words in a String

I am currently writing an application to scan a text file for certain text keywords, and then copy the text (in between the kewords) into a new text file. Could you please provide me with any tips/code/examples in order to do this optimally?

You might want to try reading the whole file into a big string, and then using the InStr function to look for particular keywords. Do you have a particular beginning keyword and an ending keyword? If so, you can use InStr to find the first keyword and the last keyword. Each will give you a position number, as in this example:

Dim iStart as Long
Dim iEnd as Long
Dim sSubString as string

iStart = InStr(BigString, "Keyword_1")
iEnd = InStr(BigString, "Keyword_2")
Then, you use the string manipulation functions, such as Mid$, to pull out the text between the two positions.
sSubString = Mid$(BigString, iStart, Len(BigString) - iEnd)
For instance, if your strings were as follows:
BigString: "This is a very long string."
Keyword_1: "is"
Keyword_2: "long"
iStart would equal 6, and iEnd would equal 16. sSubString would equal "is a very ". InStr is a very efficient function for dealing with long strings, so I'd give it a try.
DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date