×

Discussion Board

Results 1 to 4 of 4

Thread: Parser

  1. #1
    Registered User
    Join Date
    Jul 2004
    Posts
    44

    PArser

    How a parser is designed

  2. #2
    Registered User
    Join Date
    Jun 2004
    Posts
    12
    hi!

    a more precise question would be useful. but if u are going to parse a string in a textfield u might be able to use class StringTokenizer

    StringTokenizer st = new StringTokenizer("this is a test");
    while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
    }

    results in

    this
    is
    a
    test

    unfortunatelly i am not quite sure if j2me midp supports this class in package java.util??

    gr Franz

  3. #3
    Regular Contributor
    Join Date
    May 2003
    Posts
    72
    it doenst

  4. #4
    Registered User
    Join Date
    Jun 2004
    Posts
    12
    hi again!

    as sam.hendly pointed out, there is no StringTokenizer available as the package java.util is not available (at least not the class StringTokenizer).

    but, ... why not write your own StringTokenizer. It's not so difficult. so i wrote a sample class for you:



    package StringTokenizer;

    /**
    * <p>Überschrift: MIDLET fähiger Tokenizer</p>
    * <p>Beschreibung: Diese Klasse stellt einen Parser für Strings dar.
    * Im Gegensatz zur Klasse java.util.StringTokenizer ist dieser Klasse
    * für den Einsatz mit MIDP geeignet</p>
    * <p>Copyright: Pilgerstorfer Franz Copyright (c) 2004</p>
    * <p>Organisation: Pilgerstorfer Franz </p>
    * @author Pilgerstorfer Franz
    * @version 1.0
    */


    public class StringTokenizer {

    /**
    * diese Methode zerlegt einen text. Als Trennzeichen gilt hierbei das
    * Leerzeichen. Zurückgegeben wird der zerlegte Text
    * @param text der zu zerlegende Text
    * @return ein Array mit den zerlegten Teilen des Textes
    */
    public static String[] tokenize(String text) {
    // lege Variablen an
    String[] tokens;
    java.util.Vector v = new java.util.Vector();
    String wort = new String("");

    // gehe Text durch und füge Wörter in Vector ein
    for (int i=0; i<text.length(); i++) {
    if (text.charAt(i)==' ') {
    v.addElement(wort);
    wort = new String("");
    } else {
    wort = wort + text.charAt(i);
    }
    }

    // füge letztes Wort hinzu
    if (wort!="") {
    v.addElement(wort);
    }

    // kopiere Werte in String array
    tokens = new String[v.size()];
    for (int i=0; i<v.size(); i++) {
    tokens[i] = (String) v.elementAt(i);
    }
    return tokens;
    }

    /**
    * gibt alle Tokens zeilenweise aus
    * @param tokens der zerlegte Text
    */
    public static void printTokens(String[] tokens) {
    for (int i=0; i<tokens.length; i++) {
    System.out.println(tokens[i]);
    }
    }

    }


    tokenize will splitt your text using the space-char to split up a text. hope this might help

    gr Franz

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×