From: "Steve" <nospam_steved94@comcast.net>
Subject: Re: String filtering
Date: Tue, 27 Sep 2005 18:54:54 -0700
Date: 2005-09-27T18:54:54-07:00 [thread overview]
Message-ID: <BLidnZ7p_-dcaqTeRVn-hw@comcast.com> (raw)
In-Reply-To: m31x3b6n5v.fsf@rr.trudgett
"David Trudgett" <wpower@zeta.org.au.nospamplease> wrote in message
news:m31x3b6n5v.fsf@rr.trudgett...
>
> Hi all,
>
> I've been puzzling for a little bit over a good way to filter out
> unwanted characters from a string. In particular, I have an unbounded
> string and want to filter out of it all characters not in 'a'..'z',
> 'A'..'Z', '0'..'9'. So far I've only thought of tedious ways to do
> it. Is there an easy way to do it using the string handling facilities
> in Ada? I think I almost got there with the idea of using
> Maps.Character_Set, and so on, but I haven't quite pieced it together
> yet.
>
> Thanks.
>
> David
>
If you're just looking for simple code, I would suggest using the Index and
Delete functions in Ada.Strings.Unbounded. Something along the lines of:
loop
deleteIndex := Index( source, charSet, test => outside );
exit when deleteIndex = 0;
Delete( source, deleteIndex );
end loop;
It's not very efficient, but I think it is about as simple as you can get.
You can probably use Find_Token to get rid of consecutive chunks of
characters you want to remove, but it would be a little bit more messy (and
efficient).
Steve
(The Duck)
> --
>
> David Trudgett
> http://www.zeta.org.au/~wpower/
>
> We must learn to live together as brothers or perish together as
> fools.
>
> -- Martin Luther King, Jr.
>
next prev parent reply other threads:[~2005-09-28 1:54 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-27 6:27 String filtering David Trudgett
2005-09-27 7:38 ` Jacob Sparre Andersen
2005-09-27 9:13 ` David Trudgett
2005-09-27 9:49 ` Dmitry A. Kazakov
2005-09-27 11:01 ` Martin Dowie
2005-09-27 11:12 ` Martin Dowie
2005-09-27 12:54 ` Dmitry A. Kazakov
2005-09-27 13:42 ` Martin Dowie
2005-09-27 14:24 ` Dmitry A. Kazakov
2005-09-28 0:06 ` David Trudgett
2005-09-28 8:15 ` Dmitry A. Kazakov
2005-09-28 10:39 ` David Trudgett
2005-09-28 20:55 ` Simon Wright
2005-09-28 21:53 ` Martin Dowie
2005-09-28 9:08 ` Jacob Sparre Andersen
2005-09-28 9:54 ` David Trudgett
2005-09-29 14:05 ` Georg Bauhaus
2005-10-01 19:02 ` tmoran
2005-10-02 6:38 ` David Trudgett
2005-10-02 14:11 ` Martin Dowie
2005-10-02 22:40 ` David Trudgett
2005-10-03 5:56 ` Martin Dowie
2005-10-03 10:33 ` Georg Bauhaus
2005-09-28 18:21 ` Jeffrey R. Carter
2005-09-28 21:00 ` Simon Wright
2005-09-27 11:22 ` David Trudgett
2005-09-27 11:15 ` David Trudgett
2005-09-27 13:21 ` Dmitry A. Kazakov
2005-09-27 13:43 ` Martin Dowie
2005-09-28 0:51 ` David Trudgett
2005-09-28 12:02 ` Dmitry A. Kazakov
2005-09-28 13:25 ` Marc A. Criley
2005-09-29 22:42 ` Randy Brukardt
2005-09-30 17:54 ` Robert A Duff
2005-10-02 6:57 ` Steve Whalen
2005-10-02 14:14 ` Martin Dowie
2005-10-03 1:21 ` Robert A Duff
2005-10-03 7:44 ` Jacob Sparre Andersen
2005-10-03 8:56 ` Dmitry A. Kazakov
2005-10-03 9:25 ` Jean-Pierre Rosen
2005-10-03 20:17 ` Ada Notation Jeffrey R. Carter
2005-10-03 20:41 ` Georg Bauhaus
2005-10-05 17:16 ` Andre
2005-10-05 18:23 ` Ludovic Brenta
2005-10-05 18:24 ` Jeffrey R. Carter
2005-10-04 15:13 ` brian.b.mcguinness
2005-10-04 17:00 ` String filtering Robert A Duff
2005-10-05 8:19 ` Jean-Pierre Rosen
2005-10-05 11:25 ` Robert A Duff
2005-10-04 19:47 ` Björn Persson
2005-10-05 14:14 ` Dmitry A. Kazakov
2005-10-03 10:06 ` Steve Whalen
2005-10-03 17:43 ` tmoran
2005-10-03 17:59 ` Robert A Duff
2005-10-05 23:04 ` Randy Brukardt
2005-09-27 13:52 ` Jacob Sparre Andersen
2005-09-28 1:01 ` David Trudgett
2005-09-28 1:50 ` David Trudgett
2005-09-27 14:08 ` Georg Bauhaus
2005-09-27 14:09 ` Marc A. Criley
2005-09-28 1:09 ` David Trudgett
2005-09-28 21:09 ` Simon Wright
2005-09-27 17:59 ` tmoran
2005-09-28 1:20 ` David Trudgett
2005-09-27 17:47 ` Jeffrey R. Carter
2005-09-28 1:29 ` David Trudgett
2005-09-28 18:32 ` Jeffrey R. Carter
2005-09-27 7:41 ` tmoran
2005-09-27 9:17 ` David Trudgett
2005-09-28 1:54 ` Steve [this message]
2005-09-28 2:20 ` David Trudgett
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox