Tilted Forum Project Discussion Community

Tilted Forum Project Discussion Community (https://thetfp.com/tfp/)
-   Tilted Technology (https://thetfp.com/tfp/tilted-technology/)
-   -   [vb6] find and replace? (https://thetfp.com/tfp/tilted-technology/77130-vb6-find-replace.html)

albazeroex 11-26-2004 06:36 PM

[vb6] find and replace?
 
what is a way to code in vb6 a find and replace option like that in microsoft word?

i know how to code the normal find command but i still cant figure out how to find a word and show how many times a word has appeared in a line of text
:confused:
help needed

thank you

11-27-2004 12:31 PM

I'm not sure what the one in microsoft word is like, but the vb one is

replace (<stringexpression>,<findexpression>,<replaceexpression>,start,count,vbCompareType) as String

Here are some examples showing variations in the count value. I'm replacing i's for x's, always starting at position 1, and replacing 1,2,3 and then finally all (-1) instances of i's with x's:

? replace("a string with characters in it, various text etc.","i","x",1,1,vbTextCompare)
a strxng with characters in it, various text etc.

? replace("a string with characters in it, various text etc.","i","x",1,2,vbTextCompare)
a strxng wxth characters in it, various text etc.

? replace("a string with characters in it, various text etc.","i","x",1,3,vbTextCompare)
a strxng wxth characters xn it, various text etc.

? replace("a string with characters in it, various text etc.","i","x",1,-1,vbTextCompare)
a strxng wxth characters xn xt, varxous text etc.

If you want to count how many times a word appears in a line of text you can either do a regular find, contained in a loop. Or you could tokenise the line into an array of words, load them into a collection and then count how many matched each collection key.

What exactly do you want to do?

albazeroex 11-27-2004 01:33 PM

woah thanks;; all i realli need is how to find a word and show how many times that word/phrase appears in a set of text

thanks tho for the replace examples

Dilbert1234567 11-27-2004 05:38 PM

i have a weird way to do it.




Dim intext As String
Dim searchtext As String
Dim replacetext As String
Dim outtext As String
Dim numberfound As Integer
Dim buff() As String
Dim i As Integer
intext = "testl testltesttestltest"
searchtext = "l"
replacetext = "q"
buff() = Split(intext, searchtext, , vbBinaryCompare)
Do Until i = UBound(buff)
outtext = outtext & buff(i) & replacetext
i = i + 1
Loop

albazeroex 11-27-2004 08:46 PM

its weird;; but it works ^_^ ... now i just need to figure out how to count the searched word ~_~

albazeroex 11-28-2004 12:32 AM

Quote:

Originally Posted by Dilbert1234567
Dim numberfound As Integer

would u use this to count the number of times the searched word appeared? or could i mix it with the count function? im so confused :hmm:

Dilbert1234567 11-28-2004 11:14 AM

oh yeah that part


numberfound=ubound(buff)



ubound gives the upper bound of an array, since it splits the string into an array everywhere the search string occurs and it, it will break it into one more peices then the time it occurs, since it starts with zero, the ubound of the array is the total times it is found.

kebo 11-30-2004 12:16 PM

a way to count occurences of one string inside of another:

Dim S As String
Dim position As Long
Dim SearchString As String
Dim count As Long

S = " This is a great sentence. It is not very long, but is also quite lame. It is however unimportant and is not very exciting"
SearchString = "is"

count = 0
position = InStr(S, SearchString)
Do Until position = 0
count = count + 1
position = InStr(position + 1, S, SearchString)
Loop
debug.print count
End Sub

its not fully tested but seems to work
kevin

albazeroex 11-30-2004 02:49 PM

i either got stuck in an endless loop or an overflow occured T_T

albazeroex 12-01-2004 02:15 PM

Quote:

Originally Posted by kebo
a way to count occurences of one string inside of another:

Dim S As String
Dim position As Long
Dim SearchString As String
Dim count As Long

S = " This is a great sentence. It is not very long, but is also quite lame. It is however unimportant and is not very exciting"
SearchString = "is"

count = 0
position = InStr(S, SearchString)
Do Until position = 0
count = count + 1
position = InStr(position + 1, S, SearchString)
Loop
debug.print count
End Sub

its not fully tested but seems to work
kevin


everytime i try to print count it gives me "0"

Dilbert1234567 12-01-2004 06:16 PM

use my code, it works to count the occurances


All times are GMT -8. The time now is 04:41 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62