Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.forth > #318

Re: Mehr als 1 Zeichen suchen? Wie z.B. s" Kalender2015" s"0123456789" multiscan?

From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups de.comp.lang.forth
Subject Re: Mehr als 1 Zeichen suchen? Wie z.B. s" Kalender2015" s"0123456789" multiscan?
Date 2015-06-29 21:32 +0200
Organization A noiseless patient Spider
Message-ID <mms6eb$7ur$1@dont-email.me> (permalink)
References <f8895b39-8f01-4a29-a858-d343814ee955@googlegroups.com>

Show all headers | View raw


djc wrote:

> Hallo,
> 
> ich suche ein Forth-Wort, das Zeichen aus einer Liste in einer
> Zeichenkette sucht, z.B. alle Ziffern von 0-9:
> 
> s" Kalender2015" s"0123456789" multiscan --> count type --> "2015"
> Gibt also den Rest des Strings am dem ersten "Treffers" zurück.
> 
> Gibt es sowas
> * im Forth-Standard?
> * in gForth?
> * als Erweiterung?

Du meinst wohl Regexps ;-). Ja, die gibt's in Gforth, auch wenn sie nicht 
PCRE-kompatibel sind.

require regexp.fs

charclass digits '0' '9' ..char

: scan-digits ( addr u -- )
  (( // \( {++ digits c? ++} \) ))
  IF  \1  ELSE  s" "  THEN ;

s" Kalender2015" scan-digits type 2015 ok

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
http://bernd-paysan.de/

Back to de.comp.lang.forth | Previous | Next | Find similar


Thread

Re: Mehr als 1 Zeichen suchen? Wie z.B. s" Kalender2015" s"0123456789" multiscan? Bernd Paysan <bernd.paysan@gmx.de> - 2015-06-29 21:32 +0200

csiph-web