?
Solved

Regular Expression Find and Replace in Visual Studio 2003

Posted on 2008-06-13
4
Medium Priority
?
196 Views
Last Modified: 2013-11-26
Hey Experts,

Quick and simple question.

I have multiple code files where the Finally block in each method has an object.Dispose().. like this

Finally
       x.Dispose()
       Y.Dispose()
End Try

x and y can vary in names based on what object is being disposed. I want to do a Find and Replace in the entire solution where I have to find a match for Any object.Dispose() and replace it with
If Not Object is Nothing Then
     Object.Dispose()
End If

i.e
The code will be something like

objSQL.Dispose or lobjSQL.Dispose() or objOracle.Dispose() and I have to replace them with

If not objectname Is Nothing Then
   objectname.Dispose()
End If

where objectname could be anything that I match with a single Regular expression and use that in the replace too..

Any ideas or thoughts or the expression itself is appreciated.

Thanks,
Suj
0
Comment
Question by:sujeshva
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 9

Assisted Solution

by:Rob Siklos
Rob Siklos earned 400 total points
ID: 21780284
I would use the Search/Replace features of EditPlus (www.editplus.com).  It lets you define complex regular expressions for search/replace in files.

So the regex would be something like this:

Search:    
    (objSQL | lobjSQL | objOracle)\.Dispose\(\)
Replace with:
    If not \1 Is Nothing Then
      \1.Dispose()
    End If
0
 
LVL 3

Author Comment

by:sujeshva
ID: 21780757
Thank you for the response, but the trouble with your response is that I need to have the names of the object handy, I have over 500 different variable names and it is not limited to objSQL or lobjSQL or objOracle. What I wanted was something like ([a-Z])\.Dispose\(\) being replaced with
If not \1 Is Nothing Then
\1.Dispose()
End If
0
 
LVL 9

Assisted Solution

by:Rob Siklos
Rob Siklos earned 400 total points
ID: 21780786
Ok - no problem.  Search for this instead:
([A-Za-z][A-Za-z0-9]*)\s*\.\s*Dispose\(\)

Open in new window

0
 
LVL 3

Accepted Solution

by:
sujeshva earned 0 total points
ID: 21781666
Found the answer!

Search Expression
{([a-zA-Z0-9]+)}\.Dispose\(\)

Replace Expression
If Not \1 Is Nothing Then \n \0 \n End If

Thanks,
Suj
0

Featured Post

Is Your Team Achieving Their Full Potential?

74% of employees feel they are not achieving their full potential. With Linux Academy, not only will you strengthen your team's core competencies but also their knowledge of of the newest IT topics.

With new material every week, we'll make sure that you stay ahead of the game.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question