VBS - Fixing Text 2004-03-02 - By Felix Gebhardt
Back Hey Nick,
just use Regular Expressions. They do all that. For some syntax info go here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/ht ml/scripting051099.asp or have a look at the rename page in the netview.
A small example: -- ---- ---- ---- ---- ---- -- CODE START
Text = " my #*+$�/&%)= messed up string " logmessage "The original input string: " & Text Text = ReplaceDemo(Text, "^ *| *$" , "" ) logmessage "Strip out trailing spaces: " & Text Text = ReplaceDemo(Text, "\W" , "_" ) logmessage "Txt without special chars: " & Text Text = ReplaceDemo(Text, "_+" , "_" ) logmessage " A bit better: " & Text Text = ReplaceDemo(Text, "_" , "" ) logmessage " finally strip out the _: " & Text
'===================================Function ReplaceDemo(inStr, Pattern , Replacement) '=================================== Dim regAusdr Set regAusdr = New RegExp regAusdr.Pattern = Pattern regAusdr.IgnoreCase = True regAusdr.Global = True ReplaceDemo = regAusdr.Replace(inStr, Replacement) '========End Function '======== -- ---- ---- ---- ---- ---- ---- ---- ----- END CODE
Hope it helps, Felix
Nick Petit wrote: > Cheers Rob, the trim function only trims at the head and the end, so for > example: > Trim(" Bob and Jane ") 'results in "Bob and Jane", the spaces in > between Bob and Jane are still there... fixed with a split function and a > join with "_" > > However the problem is I want to catch any kind of special character and > numbers... " ' ? > & # ^ @ ! 1 2 3 etc etc... > > The replace function won't let me delimit what to replace with the normal > pattern property [^a-z] > I might try and imbed a Jscript function, as Kim suggested... :) > > Cheers! > Nick. > > > Nick Petit > Lead 3D/TD > F U S E D D D @ M R P P P > 20 Thistlethwaite St > South Melbourne > 3205 VIC > Australia > > http://www.mrppp.com.au > -- -- Original Message -- -- > From: Robert Moodie > To: XSI@(protected) > Sent: Tuesday, March 02, 2004 1:31 AM > Subject: Re: [Script] VBS - Fixing Text > > > I know Trim(input) will strip out the spaces, not sure about the rest. > Have you checked the Windows Script docs? > Or maybe some kond of Replace syntax... > > _rob > > > -- -- Original Message -- -- > From: Nick Petit > To: XSI > Sent: Monday, March 01, 2004 5:39 AM > Subject: [Script] VBS - Fixing Text > > > Hiya, > > I'm having a slight brain fart at the moment and can't seem to figure > out how to get this going... > I'm retrieving text from user input (from a text file or whatever) > and I don't want to limit the user to have to watch out for his spelling > by having to not put in spaces, numbers at the head of the word nor > special characters... > How do I strip a string of all the numbers, spaces and special > characters and replace them with an underscore? > The replace function won't accept [^a-z]... > I've managed to get the script going another way but I'm now curious > as to how to do the above... > > Cheers! > Nick. > > > Nick Petit > Lead 3D/TD > F U S E D D D @ M R P P P > 20 Thistlethwaite St > South Melbourne > 3205 VIC > Australia > > http://www.mrppp.com.au
--- Unsubscribe? Mail Majordomo@(protected) with the following text in body: unsubscribe xsi
|
|