Hallo Kai, hallo Liste, heute kommt ein erneuter Hilferuf von mir. Nachdem ich mich einige Stunden mit dem Befehl "suchen und ersetzen" auseinandergesetzt habe und eigentlich nicht weitergekommen bin, brauche ich leider wieder Unterstützung.
1. Lassen sich auch Zahlen bearbeiten? Beispiel: 22. als zweiundzwanzigster gesprochen.
Ja, dass ist kein Problem.
Du hast zwei Möglichkeiten:
Entweder du machst das mit einfachen Suchen und Ersetzen, in etwa so:
replace(german, " 1.", "erster") replace(german, " 2.", "zweiter") ...
Beide Befehle funktionieren leider so nicht. Es geht bei mir nur so: replace(german, "1.", "erster") Dann sagt brass zwar erstens, aber: aber alle anderen Zahlen mit einer 1 ohne Punkt dahinter werden mit Punkt vorgelesen. Beispiel: "11" wird als "elftens" gesprochen. Außerdem wird zum Beispiel "9.9." so gesprochen: "neun neunter", anstatt "neunter neunter".
replace(german, "31.", "einundreisigster")
was viel Tipparbeit wäre. :-)
Bei zweistelligen Zahlen verhält es sich ebenso.
Oder, da replace() nicht nur simples Suchen und Ersetzen versteht, sondern auch mit regulären Ausdrücken umgehen kann, kannst du das auch in etwa so machen:
... replace(german, /1[0-9]/, {0, " ter"}) ...
Bein Eingabe dieses Befehls spricht brass nicht mehr.
Die Syntax für replace() ist:
replace(<language>, <Suchausdruck>, <Ersetzungsausdruck>)
wobei: <language> - german oder english
<Suchausdruck> - entweder eine einfache Zeichenkettee eingeschlossen in Gänsefüßchen ("), oder ein erweiterter regulärer Ausdruck (nach Posix Standard) eingeschlossen in Schrägstriche (/).
<Ersetzungsausdruck> - entweder eine einfache Zeichenkettee wieder eingeschlossen in ", oder eine Liste von Teilausdrücken und einfachen Zeichenketten, welche in {} eingeschlossen wird. Die Teilausdrücke sind von 0 bis n durchnummerriert, und 0 ist der ganze Treffer. Also z. B.:
replace(german, /^(~)/, {"Eine ", 1, " am Zeilenanfang"})
Auch hier wie oben: brass spricht bei Eingabe dieses Befehls nicht mehr. Wie erreiche ich, daß z.B. "24.12.04" wie folgt gesprochen wird: "vierundzwanzigsten zwölften null vier"? Die gleichen Zahlen ohne Punkt geschrieben sollen dann auch ohne Punkt gesprochen werden: " vierundzwanzig zwölf..." Für eine Lösung des Problems wäre ich sehr dankbar. Dann könnte besser mit Linux arbeiten. Mit freundlichen Grüßen Jürgen