[Allegro] Erkennen von Zahl / Buchstaben

Bernhard Eversberg ev at biblio.tu-bs.de
Mi Apr 26 15:58:57 CEST 2006


Mentzel-Reuters schrieb:
> vor einiger Zeit erwähnte ich in einem Beitrag zur Liste, daß es schön 
> wäre, wenn Allegro (speziell: index, aber auch srch) zwischen Zahlen und 
> Buchstaben unterscheiden könnte. Da hieß es, das einzurichten, sei 
> eigentlich kein Problem, aber es habe bislang niemand gefordert. Als ich 
> heute nach langer Zeit (und ich weiß, warum ich das fürchte) die 
> Parameter zur korrekten Sortierung unserer Signaturen im Index ändern 
> mußte, fiel es mir wieder ein. Ich könnte manchen komplizierten Schritt 
> weglassen, wenn ich einfach sagen könnte: Beginne beim nächsten 
> Buchstaben oder ende vor jeder beliebigen Ziffer. Das Problem dürften 
> doch nicht nur wir mit unseren (an sich) harmlosen Signaturen 4° Ab 
> 344-5 und dergl. haben (mit so blöden Ausnahmen wie Bm 32a-44A und so).
> Darf ich Sie, Herr Eversberg, beim Wort nehmen und um diese Ergänzung 
> des Classico bitten?

Für V26.4 kommt das reichlich spät!

Ersatzweise kann man so vorgehen:

#nnn f"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .-/(,"

Damit wird vom Inhalt von #nnn vorn alles weggenommen, was zur Liste der 
angegebenen Zeichen gehört. Und ergänzen Sie dann noch

    e"[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .-/(,]"
dann wird die Zeichenfolbe beim ersten der genannten Zeichen
beendet. [Hier eckige Klammern nötig, weil e"..." sonst nach der
Zeichenfolge sucht, während f sich auf die einzelnen Zeichen bezieht!]

Analoges gilt fuer die Ziffern und andere Zeichen. Im Prinzip ist dies
ein viel genaueres Instrument als simple Befehle "Ende beim ersten
Buchstaben" oder "Beginne bei der ersten Ziffer"! Nur mehr Schreibarbeit.

Wenn es nur darum geht, eine Zahl zu isolieren:

#nnn x"*1"

und wahlweise noch dazu  e"."  wenn Dezimalstellen weg sollen.

MfG B.E.




Mehr Informationen über die Mailingliste Allegro