Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > need help with a regular expression replace command

Reply
Thread Tools

need help with a regular expression replace command

 
 
Danny
Guest
Posts: n/a
 
      10-03-2004
I need an asp command to strip out from a string all extra punctuation such
as apostrophe, comma, period, spaces dashes, etc etc and just leave the
letters.

Can anybody give me some ideas?

Thanks


 
Reply With Quote
 
 
 
 
Roland Hall
Guest
Posts: n/a
 
      10-03-2004
"Danny" wrote in message
newswU7d.28368$(E-Mail Removed). net...
:I need an asp command to strip out from a string all extra punctuation such
: as apostrophe, comma, period, spaces dashes, etc etc and just leave the
: letters.
:

Yes. It's easier to match what you want and just dump the rest. This
example returns A-Z regardless of case or in your terms, "just the letters."

<%@ Language=VBScript %>
<%
Option Explicit
Response.Buffer = True

function getAlpha(str)
dim re, match, matches, reStr
set re = New RegExp
re.Pattern = "[a-z]+"
re.IgnoreCase = True
re.Global = True
set matches = re.Execute(str)
for each match in matches
reStr = reStr & match.value
next
getAlpha = reStr
end function

Response.Write("Result: " & getAlpha("AaB5b!'C,*cD/d\Ee"))
%>

Response:
Result: AaBbCcDdEe

HTH...

--
Roland Hall
/* This information is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability
or fitness for a particular purpose. */
Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
MSDN Library - http://msdn.microsoft.com/library/default.asp


 
Reply With Quote
 
 
 
 
Evertjan.
Guest
Posts: n/a
 
      10-03-2004
Roland Hall wrote on 03 okt 2004 in
microsoft.public.inetserver.asp.general:

> "Danny" wrote in message
> newswU7d.28368$(E-Mail Removed). net...
>:I need an asp command to strip out from a string all extra punctuation
>:such
>: as apostrophe, comma, period, spaces dashes, etc etc and just leave
>: the letters.
>:
>
> Yes. It's easier to match what you want and just dump the rest. This
> example returns A-Z regardless of case or in your terms, "just the
> letters."
>


I don't think so,
the replace function is much quicker than matching and a loop:

function getAlpha(str)
dim re
set re = New RegExp
re.Pattern = "[^a-z]+"
re.IgnoreCase = True
re.Global = True
getAlpha = re.replace(str,"")
end function

Response.Write "Result: " & getAlpha("AaB5b!'C,*cD/d\Ee")


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress,
but let us keep the discussions in the newsgroup)

 
Reply With Quote
 
Dave Anderson
Guest
Posts: n/a
 
      10-04-2004
Danny wrote:
> I need an asp command to strip out from a string all extra
> punctuation such as apostrophe, comma, period, spaces dashes, etc etc
> and just leave the letters.


JScript:
return myString.replace(/[^a-z]/gi,"")

VBScript:
Use the Replace function and the RegExp object to do the same.



--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.


 
Reply With Quote
 
broby425@hotmail.com
Guest
Posts: n/a
 
      10-13-2004
I use a function for that. There might a slicker way to do it, but this is what I came up with. You can replace each puncuation mark with just an empty string "" instead of the encoding.

Function EncPunc(checkPunc)
strTmp = checkPunc
strTmp = Replace(strTmp,"'","%39")
strTmp = Replace(strTmp,"%","%25")
strTmp = Replace(strTmp,"&","%26")
strTmp = Replace(strTmp,"#","%23")
strTmp = Replace(strTmp,";","%3B")
strTmp = Replace(strTmp,"/","%2F")
strTmp = Replace(strTmp,"?","%3F")
strTmp = Replace(strTmp,":","%3A")
strTmp = Replace(strTmp,"@","%40")
strTmp = Replace(strTmp,"=","%3D")
strTmp = Replace(strTmp,"<","%3C")
strTmp = Replace(strTmp,">","%3E")
strTmp = Replace(strTmp,"""","%22")
strTmp = Replace(strTmp,"{","%7B")
strTmp = Replace(strTmp,"}","%7D")
strTmp = Replace(strTmp,"|","%7C")
strTmp = Replace(strTmp,"\\","%5C")
strTmp = Replace(strTmp,"^","%5E")
strTmp = Replace(strTmp,"~","%7E")
strTmp = Replace(strTmp,"[","%5B")
strTmp = Replace(strTmp,"]","%5D")
strTmp = Replace(strTmp,"`","%60")
EncPunc = strTmp
End Function

************************************************** ********************
Sent via Fuzzy Software @ http://www.fuzzysoftware.com/
Comprehensive, categorised, searchable collection of links to ASP & ASP.NET resources...
 
Reply With Quote
 
Evertjan.
Guest
Posts: n/a
 
      10-13-2004
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote on 13 okt 2004 in
microsoft.public.inetserver.asp.general:

> Function EncPunc(checkPunc)
> strTmp = checkPunc
> strTmp = Replace(strTmp,"'","%39")
> strTmp = Replace(strTmp,"%","%25")
> strTmp = Replace(strTmp,"&","%26")
> strTmp = Replace(strTmp,"#","%23")
>


teststr = "%&#;/?:@=<>""{}|\^~[]`"

Function EncPunc(x)
EncPunc = ""
for i=1 to len(x)
t = mid(x,i,1)
if instr(teststr,t)>0 then t = "%" & asc(t)
EncPunc = EncPunc & t
next
End Function

==================================

> strTmp = Replace(strTmp,"\\","%5C")


you are mistaken, this is not javascript, but vbscript

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress,
but let us keep the discussions in the newsgroup)

 
Reply With Quote
 
regx
Guest
Posts: n/a
 
      12-05-2004
Yes, there is a much easier wa to do HTML entity, unfortunatly as far as I
can tell regexps in VB are severely impared!!!
The easy way to do this is to match the char with a regular expresion and
then get the numeric value for the char.
In VB it would look something like
dim reg1 as RegExp
set reg1= new RegExp
reg1.global = true
reg1.pattern="([^a-zA-Z0-9\s])"
text=reg1.replace(text,"&" & Asc("$1") & ";"

Unfortunatley in VB you can not pass submatches to a funtion. Submatches
only work inside the expression.
If anyone knows how to pass submatches to a function in a VB RegExp please
let me know.
For now I just call external Perl scripts from VB

by the way, the above in Perl looks like this
$text=~s/([^a-zA-Z0-9\s])/"&".ord($1).";"/ge;

Aside from being brief, it works!!!
And if we want to check to make sure entities like $ do not get encoded we
can pass to a function that handles this
$text=~s/([^a-zA-Z0-9\s])/encodeHTMLentities($1)/ge;


"Bob Roby" wrote:

> I use a function for that. There might a slicker way to do it, but this is what I came up with. You can replace each puncuation mark with just an empty string "" instead of the encoding.
>
> Function EncPunc(checkPunc)
> strTmp = checkPunc
> strTmp = Replace(strTmp,"'","%39")
> strTmp = Replace(strTmp,"%","%25")
> strTmp = Replace(strTmp,"&","%26")
> strTmp = Replace(strTmp,"#","%23")
> strTmp = Replace(strTmp,";","%3B")
> strTmp = Replace(strTmp,"/","%2F")
> strTmp = Replace(strTmp,"?","%3F")
> strTmp = Replace(strTmp,":","%3A")
> strTmp = Replace(strTmp,"@","%40")
> strTmp = Replace(strTmp,"=","%3D")
> strTmp = Replace(strTmp,"<","%3C")
> strTmp = Replace(strTmp,">","%3E")
> strTmp = Replace(strTmp,"""","%22")
> strTmp = Replace(strTmp,"{","%7B")
> strTmp = Replace(strTmp,"}","%7D")
> strTmp = Replace(strTmp,"|","%7C")
> strTmp = Replace(strTmp,"\\","%5C")
> strTmp = Replace(strTmp,"^","%5E")
> strTmp = Replace(strTmp,"~","%7E")
> strTmp = Replace(strTmp,"[","%5B")
> strTmp = Replace(strTmp,"]","%5D")
> strTmp = Replace(strTmp,"`","%60")
> EncPunc = strTmp
> End Function
>
> ************************************************** ********************
> Sent via Fuzzy Software @ http://www.fuzzysoftware.com/
> Comprehensive, categorised, searchable collection of links to ASP & ASP.NET resources...
>


"Bob Roby" wrote:

> I use a function for that. There might a slicker way to do it, but this is what I came up with. You can replace each puncuation mark with just an empty string "" instead of the encoding.
>
> Function EncPunc(checkPunc)
> strTmp = checkPunc
> strTmp = Replace(strTmp,"'","%39")
> strTmp = Replace(strTmp,"%","%25")
> strTmp = Replace(strTmp,"&","%26")
> strTmp = Replace(strTmp,"#","%23")
> strTmp = Replace(strTmp,";","%3B")
> strTmp = Replace(strTmp,"/","%2F")
> strTmp = Replace(strTmp,"?","%3F")
> strTmp = Replace(strTmp,":","%3A")
> strTmp = Replace(strTmp,"@","%40")
> strTmp = Replace(strTmp,"=","%3D")
> strTmp = Replace(strTmp,"<","%3C")
> strTmp = Replace(strTmp,">","%3E")
> strTmp = Replace(strTmp,"""","%22")
> strTmp = Replace(strTmp,"{","%7B")
> strTmp = Replace(strTmp,"}","%7D")
> strTmp = Replace(strTmp,"|","%7C")
> strTmp = Replace(strTmp,"\\","%5C")
> strTmp = Replace(strTmp,"^","%5E")
> strTmp = Replace(strTmp,"~","%7E")
> strTmp = Replace(strTmp,"[","%5B")
> strTmp = Replace(strTmp,"]","%5D")
> strTmp = Replace(strTmp,"`","%60")
> EncPunc = strTmp
> End Function
>
> ************************************************** ********************
> Sent via Fuzzy Software @ http://www.fuzzysoftware.com/
> Comprehensive, categorised, searchable collection of links to ASP & ASP.NET resources...
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
need regular expression to replace part of result based on a search pattern Jimmy Java 13 07-25-2012 09:37 PM
Search, Replace with Regular Expression tushar.n.patel@gmail.com ASP .Net 1 02-09-2005 10:09 PM
Search, Replace with Regular Expression lucky ASP .Net 0 02-09-2005 07:10 AM
regular expression search replace J. VerSchave Java 2 02-29-2004 08:08 PM
Dynamically changing the regular expression of Regular Expression validator VSK ASP .Net 2 08-24-2003 02:47 PM



Advertisments