Jörk Behrends: Text in Wörter aufteilen

Beitrag lesen

Hi Andreas!

split (/\b\W*\s+\W*\b/, $text);

Warum braucht es \b? Ohne würde es ja auch funktionieren. Sonst finde ich deine Lösung auch besser. Allerdings solltest du nicht \W verwenden, da dort auch Umlaute und andere Sonderzeichen enthalten sind.
Dieser Befehl sollte auch mit Sonderzeichen klar kommen:

split(/[^\wŠŒšœŸÀ-ÖØ-öø-ÿ]*(?:\s+$)[^\wŠŒšœŸÀ-ÖØ-öø-ÿ]*/, $text);

Mit den Umlauten hast Du mich natürlich voll erwischt. Gab es da nicht mal irgendwas mit local? Oder war das erst für ein zukünftiges Perl geplant?

Das \b kann ich sicher weg lassen, so gefräßig, wie die RegExps sind ... Das plus bei \s sollte eigentlich auch ausgelassen werden können ... da muß man aber wohl mit den Zeilenenden aufpassen!

Gruß,
Jörk