Moin Moin!
Ich nehme nicht an, dass es in allen Zeichensätzen überhauot ein "Upcase" gibt
So ist es. Diverse Schriftsprachen, insbesondere die nicht lateinischen, nicht griechischen, nicht kyrillischen Schriftarten kennen so etwas wie "groß und klein" gar nicht. Bei den in Westeuropa gebräuchlichen Schriftsprachen muß es nicht zwingend die gleiche Anzahl kleiner und großer Buchstaben geben, wie man sehr schön an Deutsch sieht: 29 Großbuchstaben, 30 Kleinbuchstaben. Ebenso ist die Konvertierung zwischen Groß- und Kleinbuchstaben nicht immer verlustfrei, und insbesondere sind x, toUpperCase(toLowerCase(x)) und toLowerCase(toUpperCase(x)) nicht immer identisch.
Die Deutschen haben mit dem "ß" ein ganz fieses Monster, dass je nach Kontext in "SS" oder "SZ" umgeschrieben werden muß (Maße vs. Masse), und in der Umkehrung kann aus "SS" entweder "ss" oder "ß" werden, genau wie aus "SZ" entweder "sz" oder "ß" werden kann.
Die Franzosen *dürfen* beim toUppperCase() alle Akzente verwerfen (so habe ich das jedenfalls in der Schule gelernt), so dass bis zu fünf verschiedene Zeichen zu einem zusammenfallen *KÖNNEN* (e, é, è, ê, ë => E). Beim Rückweg müssen die Akzente natürlich wieder drangeflickt werden.
Von kleineren Gemeinheiten wie Umschalten der Schreibrichtung von Rechts nach Links und zurück (z.B. beim Mischen von westeuropäischen Sprachen mit Hebräisch oder Arabisch) will ich jetzt gar nicht anfangen.
Deswegen bleibt meine Frage: "Hausaufgabe oder ernstes Problem?"
Im ersten Fall ist das entweder Stoff für eine kleine Semesterarbeit oder ein Lehrer, der die Komplexität des Problems auch nicht ansatzweise erfaßt hat. Im zweiten Fall ist das *EIGENTLICHE* Problem noch nicht erklärt. Sprich: Was soll diese Abfrage erreichen? Hauptwortsuche in deutschen Sätzen? Das geht definitiv nicht mit RegExps alleine, die sind bestenfalls der erste Schritt.
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".