Ankündigung

Einklappen
Keine Ankündigung bisher.

Wiederholende Zeichenfolge finden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wiederholende Zeichenfolge finden

    Hallo,
    ich hab grad eine Problem und hab noch so garkeinen Ansatz.
    Also mein Problem: Ich habe eine lange Zeichenkette und will in dieser Kette Strings finden die sich wiederholen. Eine Wiederholung muss mindestens 5 Zeichen lang sein.

    Beispiel:
    Code:
    Testerlein Hallo Testerlein
    Da werden dann "Testerlein" gefunden.

    Wichtig ist nur dass es mindestens 2 mal 5 gleiche Zeichen in Folge sind, Wortgrenzen oder ähnliches können natürlich inerhalb der 5 zeichen sein.

    Hat jemand eine Idee eines Ansatzes ?

    Grüße

    Ok, grad habe ich eine Idee, aber die is wohl nicht Praxistauglich:
    Die ersten 5 Zeichen nehmen, dann in ein Array rein, dann ein Zeichen nach rechts verschieben und wieder 5 Zeichen nehmen, dann wieder ins Array, usw.

    Wenn der String komplett durch ist das Array durchgehen und prüfen wie oft die Zeichenkette gefunden wurde.

    Problem: Bei langen Texten gibt das eine unglaubliche Rechenarbeit und z.B 7 Zeichen in Folge werden nicht gefunden...
    Signatur:
    PHP-Code:
    $s '0048656c6c6f20576f726c64';
    while(
    $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"


  • #2
    PHP-Code:
    <?php
    function getDuplicate($text$length) {
      for (
    $i 0$x mb_strlen($text) - $length$i $x; ++$i) {
        
    $term mb_substr($text$i$length);
        for (
    $k $i 1$k <= $x; ++$k) {
          if (
    $term == mb_substr($text$k$length)) {
            return 
    $term;
          }
        }
      }
      return 
    null;
    }
    Waere mein Ansatz, ungetestet. Je laenger das Wort, desto weniger Kombinationen sind moeglich.
    "Mein Name ist Lohse, ich kaufe hier ein."

    Kommentar

    Lädt...
    X