Я пытаюсь преобразовать Java-код в Python для токенизации. Вы можете найти реализацию Java здесь .
Я получаю некоторую синтаксическую ошибку в реализации моего кода, написанного следующим образом:
class StringTokenizer:
def __init__(self, text, delim=" \t\n\r\f", returnDelims=False):
self.text = text
self.delim = delim
self.retDelims = returnDelims
self.length = len(text)
self.pos = 0
def hasMoreTokens(self):
if not self.retDelims:
while (self.pos < self.length) and (self.delim.find(self.text[self.pos])>=0):
self.pos+=1
return self.pos < self.length
def nextToken(self,delim=" \t\n\r\f"):
self.delim = delim
if (self.pos < self.length) and (self.delim.find(self.text[self.pos])>=0):
if self.retDelims:
return self.text[self.pos : self.pos+=1]
while (self.pos+=1 < self.length) and (self.delim.find(self.text[self.pos])>=0):
pass
if (self.pos < self.length):
start = self.pos
while (self.pos+=1 < self.length) and (self.delim.find(self.text[self.pos])<0):
pass
return self.text[start:self.pos]
Ошибка является синтаксической ошибкой, которая не позволяет мне использовать pos + = 1 в 19-й строке.
Трассировка стека:
File "<ipython-input-4-f942f63e931b>", line 19
return self.text[self.pos : self.pos+=1]
^
SyntaxError: invalid syntax
Thnaks