1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

String Prüfen

  • Shade
  • 18. Februar 2003 um 12:13
  • Unerledigt
  • Shade
    9
    Shade
    Mitglied
    Reaktionen
    1
    Punkte
    801
    Beiträge
    127
    • 18. Februar 2003 um 12:13
    • #1

    Wie tu ich den am elegantesten einen String auf erlaubte zeichen prüfen wenn zb. nur Hexa zahlen erlaubt sein sollen(sprich 1-9 & A-F)?

    ALL GLORY TO THE HYPNO TOAD...

  • #!/usr/bin/perl
    8
    #!/usr/bin/perl
    Mitglied
    Reaktionen
    2
    Punkte
    612
    Beiträge
    114
    • 18. Februar 2003 um 13:16
    • #2

    ICH wuerds mit regexs machen, jakarta's ORO oder apache regexp bzw. im 1.4er JDK sinds eh dabei; wenn du's allerdings nur an der einen Stelle fuer dein Projekt brauchst,dann sollte string.getChars(...) und eine ueberpruefung der einzelnen characters auch reichen

    this is Unix land. In silent nights, you can hear Windows machines reboot...

  • hal
    32
    hal
    Mitglied
    Reaktionen
    52
    Punkte
    11.122
    Beiträge
    2.208
    • 18. Februar 2003 um 13:25
    • #3

    Naja, in EPROG is zB leider nur JDK 1.3.1 erlaubt. Die meisten Aufgaben ließen sich mit ein paar regexps in 1/3 der Zeilen lösen...

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • ze_artfuldodger
    5
    ze_artfuldodger
    Mitglied
    Punkte
    265
    Beiträge
    53
    • 18. Februar 2003 um 17:01
    • #4

    hm, das hat jetzt sicher alle klarheiten beseitigt =)

    am schnellsten löst du das indem du die parseLong - methode aus dem long-wrapper vergewaltigst:

    String dta = "FF34ABC";
    try
    {
    Long.parseLong(dta,16);
    }
    catch(NumberFormatException nofx)
    {
    // falsche zeichen
    }

    der versucht den hex-string (basis 16) in einen long umzuwandeln, und das gelingt
    logischerweise nur falls der string keine ungültigen zeichen enthält

    mfg
    art

    "A nation that limits freedom in the name of security will have neither."
    - Thomas Jefferson, The United States of America's 3rd President

  • Shade
    9
    Shade
    Mitglied
    Reaktionen
    1
    Punkte
    801
    Beiträge
    127
    • 19. Februar 2003 um 13:40
    • #5

    danke,aber das mit dem Hex war nur ein beispiel.
    was ich konkret machen will ist:
    gülitge eingabe:0-9,ende(zum beenden des progs :winking_face: )
    alles andere=>fehler
    werd mir also wohl mal regex anschaun müssen.wird eh ned so schwer sein.

    ALL GLORY TO THE HYPNO TOAD...

  • RoadRash
    6
    RoadRash
    Mitglied
    Punkte
    295
    Beiträge
    48
    • 19. Februar 2003 um 13:50
    • #6

    siehe http://java.sun.com/j2se/1.4.1/doc…ge-summary.html

    Ceterum censeo, carthaginem esse delendam.

  • Shade
    9
    Shade
    Mitglied
    Reaktionen
    1
    Punkte
    801
    Beiträge
    127
    • 19. Februar 2003 um 14:54
    • #7

    hmm für die zahlen ist klar:
    Pattern p = Pattern.compile("(0-9)*");
    Matcher m = p.matcher("input");
    boolean b = m.matches();

    aber wie such ich nach "ende" ?
    einfach:
    Pattern p = Pattern.compile("end");
    Matcher m = p.matcher("input");
    boolean b = m.matches();
    ?

    ALL GLORY TO THE HYPNO TOAD...

  • Wings-of-Glory
    28
    Wings-of-Glory
    Mitglied
    Reaktionen
    105
    Punkte
    8.305
    Beiträge
    1.573
    • 19. Februar 2003 um 15:43
    • #8
    Zitat

    Original geschrieben von Shade
    danke,aber das mit dem Hex war nur ein beispiel.
    was ich konkret machen will ist:
    gülitge eingabe:0-9,ende(zum beenden des progs :winking_face: )
    alles andere=>fehler
    werd mir also wohl mal regex anschaun müssen.wird eh ned so schwer sein.


    schau dir mal bsp. 'hochk' an: http://eprog.sourceforge.net/eprog/1025/0126071/

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  • Shade
    9
    Shade
    Mitglied
    Reaktionen
    1
    Punkte
    801
    Beiträge
    127
    • 19. Februar 2003 um 22:15
    • #9

    mit regex klappts wunderbar.
    mein problem ist wohl meine input leser.
    ich lese mit

    public static String input()
    throws IOException
    {String in=new String();
    BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
    in=input.readLine();
    return in;
    }

    aber wenn ich jetzt zb prüfe ob
    input="beliebiger String"
    ist krieg ich immer false.
    wieso :confused:

    ALL GLORY TO THE HYPNO TOAD...

  • jeuneS2
    11
    jeuneS2
    Mitglied
    Reaktionen
    17
    Punkte
    1.227
    Beiträge
    238
    • 20. Februar 2003 um 03:10
    • #10

    input.equals("irgendwas") vielleicht? "==" vergleicht Referenz (entspricht ca. Pointer), ".equals()" vergleicht den Inhalt...

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • Shade
    9
    Shade
    Mitglied
    Reaktionen
    1
    Punkte
    801
    Beiträge
    127
    • 20. Februar 2003 um 14:15
    • #11

    yop daran lags.hab schon gedacht das es sowas sein muss(nachdem ich alles andere ausgeschlossen hab) wusst aber nicht genau was.
    naja jetzt hab ich das programm perfekt fertig.
    Fazit:
    Zeitaufwand=
    Programmieren&Entwickeln&etc=30%
    Debugging=70%

    ALL GLORY TO THE HYPNO TOAD...

  • jeuneS2
    11
    jeuneS2
    Mitglied
    Reaktionen
    17
    Punkte
    1.227
    Beiträge
    238
    • 20. Februar 2003 um 14:58
    • #12

    Is eh noch a angenehmer Schnitt :winking_face:

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung