• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 678
  • Last Modified:

VBScript code to delete any data between two characters

I'm completely stumped on how to do this.

I have a file full of html code. I need to search through it and remove some code. The problem I have is that there is variable between [ and ], and I am not sure how to go about this.

I'm use to using replace and variables etc at a basic level, but this is well beyond me!

example code:
Stuff I need to keep<br /><font color="#ff0000">[variable data]</font><br /><font color="#000000">More stuff here I need to keep


I need a script/function to search and delete, leaving me with:
Stuff I need to keep<br /><br /><font color="#000000">More stuff here I need to keep

The square brackets don't appear anywhere else in the file, so they can be used as an anchor point for the deletion.
0
Burns2007
Asked:
Burns2007
  • 2
1 Solution
 
BarryTiceCommented:
First, read your text file into a single string variable, say, strText.
Then, try something like this:
Do While InStr(strText, "[") > 0
  intLeft = InStr(strText, "[")
  strLeft = Left(strText, intLeft - 23)
  intRight = InStr(strText, "]")
  strRight = Right(strText, Len(strText) - strRight - 7)
  strText = strLeft & strRight
Loop
 
This could be optimized somewhat for speed and memory usage, but this is nice and clear.

Open in new window

0
 
bluntTonyCommented:
Hi,

Try this as well.

Pass the text into strText and it'll remove all the of [text] portions.
While InStr(strText,"[") > 0
	intOpen = InStr(strText,"["):intClose = InStr(strText,"]")
	strText = Replace(strText,Mid(strText,intOpen,(intClose-intOpen)+1),"")
Wend

Open in new window

0
 
bluntTonyCommented:
Barry, i couldn't personally get yours to work. What are the 23 and 7 for?

Not saying it's wrong but I like to get my head round other methods.
0
 
maytan80Commented:
Use the split method. It will create an array on the variable

so x<y>z

I would do a split on "<" character giving me a 2 record array x and y>z
then do a split on > giving me x in the first array and y and z in the second array

Now mix and match

character array m = split(str, character/delimiter)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now