> * filter.addAttribute("a*b","-");
> * String text = "aaaabfooaaabgarplyaaabwackyb";
> * Produces: -foo-garply-wacky-
I hope not! There's no preceding a, so the last match shouldn't happen.
It will produce -foo-garply-wackyb, right?
(unless I'm missing something)
- Scott
----- Original Message -----
From: Krzysztof Zelazowski <[EMAIL PROTECTED]>
To: ECS <[EMAIL PROTECTED]>
Sent: Monday, November 20, 2000 7:27 AM
Subject: RegexpFilter
> Dear All,
>
> I have written a RegexpFilter, which I would like to contribute if you
> find that it is of any use. Below you will find the source snippet. If
> you will agree, that I'll commit it.
>
> Cheers,
>
> Krzysztof
>
>
> /**
> * This filter uses regexp to create expressions and allow
> * you to do replace on those expressions.
> *
> * This filter works like the Perl subst function. Given a
> * regular expression of "a*b", a String to substituteIn of
> * "aaaabfooaaabgarplyaaabwackyb" and the substitution String "-", the
> * resulting String returned by process(..) would be
> "-foo-garply-wacky-".
> *
> * <pre><code>
> * Filter filter = new RegexpFilter();
> * filter.addAttribute("a*b","-");
> * String text = "aaaabfooaaabgarplyaaabwackyb";
> * String result = filter.process(text);
> * System.out.println(result);
> * </code></pre>
> *
> * Produces: -foo-garply-wacky-
> *
> * @author <a href="mailto:[EMAIL PROTECTED]">K.
> Zelazowski</a>
> * @version 1.0
> */
> public class RegexpFilter extends Hashtable implements Filter {
>
> public RegexpFilter()
> {
> super(4);
> }
>
> /** Returns the name of the filter */
> public String getInfo()
> {
> return "RegexpFilter";
> }
>
> /**
> * This method actually performs the filtering.
> */
> public String process(String to_process)
> {
> if ( to_process == null || to_process.length() == 0 )
> return "";
>
> String substituteIn = to_process;
> Enumeration enum = keys();
>
> while (enum.hasMoreElements()) {
> RE r = (RE)enum.nextElement();
> String substitution = (String)get(r);
> substituteIn = r.subst(substituteIn, substitution);
> }
> return substituteIn;
> }
>
> /**
> * Add regular expression - substitution pair.
> */
> public Filter addAttribute(String expression,Object substitution)
> {
> try {
> RE r = new RE(expression);
> put(r, substitution);
> }
> catch (RESyntaxException e) {
> return null;
> }
>
> return(this);
> }
>
> /**
> * Get rid of the specified expression-substitution pair.
> */
> public Filter removeAttribute(String expression)
> {
> try
> {
> RE r = new RE(expression);
> remove(r);
> }
> catch(Exception e)
> {
> }
> return(this);
> }
>
> /**
> * Does the filter contains this expression?
> */
> public boolean hasAttribute(String expression)
> {
> try {
> RE r = new RE(expression);
> return containsKey(r);
> }
> catch (Exception e) {
> }
> return false;
> }
> }
>
>
> --
> ------------------------------------------------------------
> To subscribe: [EMAIL PROTECTED]
> To unsubscribe: [EMAIL PROTECTED]
> Archives and Other: <http://java.apache.org/main/mail.html>
> Problems?: [EMAIL PROTECTED]
--
------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Archives and Other: <http://java.apache.org/main/mail.html>
Problems?: [EMAIL PROTECTED]