-         

Ergebnis 1 bis 3 von 3

Thema: String untersuchen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.03.2004
    Beiträge
    121

    String untersuchen

    Anzeige

    Hallo, ich möchte einen String auf doppelte einträge untersuchen, und den letzten der doppelten ersetzen. Also wie im Code aus 76552 eine 765R2 machen. Aber irgend etwas ist da falsch, aber was ???
    Bitte um hilfe !!!

    Danke !!!

    A = "76552"
    B = "R"

    For X = 2 To 5
    Y = X - 1
    If Mid(a , Y , 1) = Mid(a , X , 1) Then
    Mid(a , X , 1) = B
    End If
    Next

    Upperline
    Lcd B

    Do
    Loop


    End 'end program

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    21.03.2004
    Ort
    73061 Ebersbach
    Alter
    48
    Beiträge
    52
    also wenn du nur gleiche, aufeinanderfolgende zeichen löschen willst, dann mach das doch über string-abbau und -aufbau.

    etwa so
    Code:
        sOriginal = "72556"
        cErsatz = "R"
        cFirstCharOrig = ""
        cLastCharNew = ""
       
        iForEnd = Len(sOriginal)
       
        sNewstring = ""
        sNewstring = sNewstring & Left(sOriginal, 1)
        sOriginal = Right(sOriginal, Len(sOriginal) - 1)
        
        For ilauf = 1 To iForEnd - 1
            cFirstCharOrig = Left(sOriginal, 1)
            cLastCharNew = Right(sNewstring, 1)
            If cFirstCharOrig = cLastCharNew Then cFirstCharOrig = cErsatz
            sNewstring = sNewstring & cFirstCharOrig
            sOriginal = Right(sOriginal, Len(sOriginal) - 1)
            Range("a" & ilauf).Value = cFirstCharOrig
            Range("B" & ilauf).Value = cLastCharNew
        Next ilauf
    falls du alle in der zeichenkette vorkommenden ab einem bestimmten ersetzen willst, bau den string ab und Suche das weitere vorkommen in string.

    schau dir mal die die funktionen
    • index(s,t)

    • Gsub(r,s,t)

    • sub

    • substr

    an
    die gibt es unter awk - evtl auch unter c

    gruß
    downad
    Das, was immer von jedermann und überall als richtig akzeptiert wurde, ist mit ziemlicher Gewißheit das Falsche.
    Paul Valéry (1871-1945), frz. Dichter

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo Mr-400-Volt!

    Ich glaube, dass "a" sollte "A" heissen und die "For" Schleife 5 mal durchlaufen soll, also für x=2 bis 6.

    MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •