String überprüfen (variable Länge) ob nur "F" drin stehen

  • Hi,

    ich suche eine einfache Möglichkeit einen String zu testen, ob nur "F" drin stehen.
    Der String hat eine variable Länge,z.B.
    "FFFFFFFF"
    "FFFFFFFFFFFF"

    Mir würde bis jetzt nur einfallen über StringToASCIIArray gehen und in
    einer For Next Schleife das Array zu parsen und jeden Eintrag zu testen
    ob der ASCII Code dem "F" entspricht.

    Andere Möglichkeit über StringToASCIIArray und dann ArrayUnique zu
    verwenden. Wenn das neue Array nur ein Element enthält, steht ja auch nur
    "F" drin.

    Das geht doch bestimmt auch einfacher, oder?
    Danke

    Einmal editiert, zuletzt von fantec (3. Mai 2013 um 06:58)

  • [autoit]

    Global Const $s_String = "FFFFF"

    [/autoit][autoit][/autoit][autoit]

    ; 1. Möglichkeit:
    StringReplace($s_String, "F", "F")
    If @extended = StringLen($s_String) Then
    MsgBox(0,"", "Nur F's drin")
    Else
    MsgBox(0,"", "Noch andere Zeichen drin")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    ; 1. Möglichkeit:
    If StringRegExp($s_String, "^[F]+$") Then
    MsgBox(0,"", "Nur F's drin")
    Else
    MsgBox(0,"", "Noch andere Zeichen drin")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    ; 3. Möglichkeit (solange die Zahl noch in einen 32Bit-Integer passt) :
    If Dec($s_String)-2^(StringLen($s_String)*4) = -1 Then
    MsgBox(0,"", "Nur F's drin")
    Else
    MsgBox(0,"", "Noch andere Zeichen drin")
    EndIf

    [/autoit]
  • Habe es jetzt über die RegEx Variante gelöst. Da ich die Syntax von RegEx nicht vestehe,
    habe ich mir mit dem Tool Expresso (http://www.ultrapico.com) was erstellen lassen ;) ;) --> [^F]
    Sucht nach Zeichen die verschieden von "F" sind...

    Danke