String rückwärts durchsuchen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Hallo,
    gibt es eine schnelle Möglichkeit einen String oder ein Zeichen in einem String rückwärts zu suchen? Und damit meine ich keine absteigende Whileloop-Schleife oder so, die wäre zu langsam. Ich dachte eher an ein API.


    Danke im Voraus,
    Jac

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Das könnte helfen, danke.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Da könnte man doch auch InStr() nehmen und den String
    spiegeln.


    Wenn zu langsam, frag mal Volkmar. Vielleicht kann er dir
    was in ASM für den Inline Assembler basteln.

  • Es ging ja darum, das möglichst schnell zu machen. Den String zu spiegeln dauert dann ja schon je nach Länge. Die API-Funktion hingegen dürfte schon in C-irgendwas geschrieben sein, ist also vom Tempo kaum zu toppen.


    Gruß Volkmar

  • Was zum Henker gebe ich als zweiten Parameter in StrSStrIA an? Ich verstehe es so, dass es die Position sein soll, von der aus rückwärts gesucht wird. Aber das haut nicht hin.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Das wäre sinnvoll, um ab der gefundenen Position weiter suchen zu können. Aber DeepL übersetzt das so:

    Zitat von DeepL

    Ein Zeiger auf die Quellzeichenkette, der den Bereich der Suche definiert. Setzen Sie pszLast so, dass es auf ein Zeichen in der Quellzeichenkette zeigt, und die Suche wird mit dem vorherigen Zeichen abgebrochen. Setzen Sie pszLast auf NULL, um den gesamten Quelltext zu durchsuchen.

    Da wäre also Null einzusetzen. Alles Andere wäre eine Position, vor der abgebrochen wird. Wundert mich jetzt auch etwas und probiert habe ich es noch nicht.


    Gruß Volkmar

  • Das ergibt keinen Sinn, weil ich ja rückwärts suche.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net