컴퓨터공학/Python

파이썬에서 Java StringTokenizer 을 구현

igloo2 2012. 5. 18. 11:35

import re

import queue


class StringTokenizer:

    q = queue.Queue()

    original = ""

    delimeter = ""

    included = False


    

    def __init__(self,original,delimeter,included):

        self.original = original

        self.delimeter = delimeter

        self.included = included

        self.split()


    def __init__(self,original,delimeter):

        self.original = original

        self.delimeter = delimeter

        self.included = False

        self.split()


    def split(self):

        

        if self.included:

            self.delimeter = "(["+self.delimeter+"])+"

        else:

            self.delimeter = "["+self.delimeter+"]+"


        for s in re.split(self.delimeter, self.original):

            self.q.put(s)


    def hasMoreTokens(self):

        if self.q.qsize() > 0:

            return True

        return False


    def nextToken(self):

        return self.q.get()


    def countTokens(self):

        return self.q.qsize()