Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Stringmanipulationen in JavaScript
Stringmanipulationen in JavaScript
crissi
21.12.05
14:40
Hallo werte (Mit-)Entwickler!
Ich möchte gerne ein JavaScript in einer Webseite einbetten bei dem ich eine Textarea als Eingabebereich habe, eine als Ausgabebereich und einen "Übersetzen"-Knopf.
Soweit bin ich schon gekommen, den Text von der Eingabe zur Ausgabe bekomme ich auch schon kopiert.
Nur mit dem "Übersetzen" hapert es noch. Ich möchte gerne nach bestimmten Regeln zuerst den String bereinigen - doppelte Leerzeichen zu einzelnden machen und Zeilenumbrüche entfernen - dann nach bestimmten Regeln einzelne Wörter austauschen, zB jedes 5. Wort soll durch "Dings" ersetzt werden.
Am einfachsten wäre es glaube ich, wenn ich nach dem bereinigen jedes einzelne Wort in ein Fach von einem Array schreibe, aber da hörts bei mir mit meinen JS-Kenntnissen auf.
Die Ersetzungen liessen sich dann ganz einfach mit einer For-Schleife erledigen.
So ein klein wenig soll es dem "Kenny Translator" (Google) ähneln.
Hat jemand einen guten Tipp?
Gruß
Hilfreich?
0
Kommentare
stiffler
21.12.05
14:45
Geht ganz einfach mit einem RegEx:
hier konkreter:
„To understand recursion you need to understand recursion“
Hilfreich?
0
crissi
21.12.05
14:53
Jaaa ... RegEx ist ne tolle Sache ... aber ich will nicht immer Wort X durch Wort Y ersetzen, sondern jedes beliebige 5. Wort durch Wort Y.
Und wie ich \n'S und doppelte Leerzeichen raushole weiss ich auch noch nicht so recht.
Ich habe das erstmal in einer Exceltabelle zusammengeformelt, das funktioniert schon gut, aber ich möchte gerne noch eine Onlineversion haben.
Hilfreich?
0
crissi
21.12.05
15:07
Ah moment die doppelten Leerzeichen und die \n kriege ich raus mit den RegEx, aber mit dem ersetzen bin ich noch unschlüssig.
Hilfreich?
0
stiffler
21.12.05
15:07
mmh, verstehe.
Ad hoc würde ich vorschlagen, du zerlegst den String mit einem "split" und das entstehende Array kannst du ja dann ganz einfach durchnudeln.
Doppelte Leerzeichen & Co. ersetzen dann jedoch vorher mit einem gepflegten RegEx.
Oder habe ich es noch nicht kapiert, was du vorhast?
„To understand recursion you need to understand recursion“
Hilfreich?
0
Rantanplan
21.12.05
15:08
So so, RegEx ist ne tolle Sache. Weißt du denn überhaupt was das ist? Würdest du sie kennen, wäre deine Frage schon erledigt.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
crissi
21.12.05
15:15
Ich kenne RegEx, allerdings nur vom Lesen, da ich sie bisher nie brauchte, der erste Teil der Aufgabe ist ja auch damit zu lösen.
Der zweite Teil aber nicht ...
... es soll erst jedes 5. Wort mit einem andren ersetzt werden, dann jedes 7. Wort mit einem anderen.
Das Zerlegen des Strings in Einzelwörter könnte das RegEx auch machen, aber fürs Ersetzen selber bieten sich doch eher for-Schleifen an.
Gruß
Hilfreich?
0
stiffler
21.12.05
15:19
crissi
Das Zerlegen des Strings in Einzelwörter könnte das RegEx auch machen, aber fürs Ersetzen selber bieten sich doch eher for-Schleifen an.
Auch das würde mit einem RegEx gehen.
Ohne RegEx geht es aber auch:
1. String in Array splitten:
2. mit for-Schleife durchnudeln
„To understand recursion you need to understand recursion“
Hilfreich?
0
Rantanplan
21.12.05
15:34
Mit JavaScript habe ich noch nicht rumgespielt, aber in Perl-Syntax würde das mit dem Ersetzen jedes 5ten Wortes z.B. so aussehen:
$TEXT =~ s/((\w+\W+){4})\w+/$1DUDEL/g;
Deswegen meinte ich ja: du kennst reguläre Ausdrücke nicht.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
crissi
21.12.05
15:40
Ich denke damit komme ich weiter
RegEx kenne ich nur aus der Theorie, Praxis habe ich noch keine.
Soweit schonmal einen Dank, probiere das nachher gleich aus.
Gruß
Hilfreich?
0
Rantanplan
21.12.05
15:48
Ok, aber leider ist da wo "RegEx" draufsteht immer das gleiche RegEx drin. Der Umfang und die Syntax unterscheiden sich gelegentlich. Wie es bei JavaScript aussieht weiß ich nicht, hab's selber nie verwendet bisher.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Rantanplan
21.12.05
15:49
Argl... das sollte natürlich heißen: "leider ist da wo "RegEx" draufsteht
nicht
immer das gleiche RegEx drin"
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Facebook & Instagram: Zuckerberg kündigt Aus de...
Neues Apple TV und neuer HomePod mini auf dem W...
iPad Pro M4 wird grün – Displayfehler bei immer...
Aufpreise, Vergleich zu M3 und Spezifikationen:...
PIN-Code erraten: Dauer
Interview: Größte private Mac-Sammlung
Bald viel mehr HomeKit-kompatible Geräte? Apple...
Mac mini M4: Reparaturhandbuch bestätigt austau...