Hilfe bei javascript Aufgabe?

3 Antworten

Werden Worte durch Leerzeichen oder/und Punkte getrennt?

Wenn ja wäre der erste Schritt den String entsprechend zu splitten. Im zweiten Schritt dann alles in Kleinschreibung umwandeln, ggf überflüssigen whitespace (Tabs) entfernen. Im dritten Schritt schauen ob ein Wort doppelt ist. Primitive Methode: den Wort Array durchlaufen mit einem for loop, dabei erstes oder letztes Wort aus dem Array entfernen und danach mit indexOf prüfen ob es sich trotzdem noch im Array finden lässt => dann wäre das Wort mindestens doppelt vorhanden.

(Sonderaufgabe für dich: was passiert wenn ein Wort 3 mal vorhanden ist?)

Woher ich das weiß:Berufserfahrung – Studium + Berufserfahrung

Zyrober  20.05.2022, 15:01

Naja, ohne Regex ist es easy, aber lang. Interessant wäre natürlich wie's mit Regex funktioniert wie unter dem Link beschrieben...

1
Junos282 
Fragesteller
 20.05.2022, 15:18

Was ist mit Regex?, Weils halt ne Regex aufgabe ist.

0
fluffiknuffi2  20.05.2022, 15:27
@Junos282

Bist du sicher dass es nicht lediglich darum geht einen Regex zu bauen der Worte findet? Also anhand der Leerzeichen trennt?

0

Hallo,

Du musst hier beim Regex beachten, dass "ganze Worte" gefunden werden sollen. Und das anscheinend auch unabhängig ob klein oder gross geschrieben.

Du brauchst also viermal insgesamt \b (Word bounds, einmal um die [] in der Suchgruppe und einmal um die Gruppenreferenz) und den i Modifier

Den Rest musst du selber rausbekommen!

Maximale Erfolge!

Mein Regex-Kungfu war ganz schön eingerostet, aber hier ist mein Vorschlag:

function test(s) {
  return /(\b[a-zA-Z]+\b)(?=.*\b\1\b)/i.test(s);
}