私はHTMLレンダラーを作っています。私はStreamTokenizerに読み込まれているhtmlファイルを持っています。現時点では正しいトークンが出力され、htmlファイルにはドルで囲まれたvarbilesが指定されています。
$myVarToBeRendered$
正しいトークンを取得します。つまり、quoteChar( '$')を使用してhtmlボディとvarsを分割します。
FileReader in = new FileReader(file);
BufferedReader reader = new BufferedReader(in);
StreamTokenizer tok;
tok = new StreamTokenizer(reader);
tok.resetSyntax();
tok.wordChars(0, 255);
tok.quoteChar('$');
私は文字列トークンを取得する
"" , "myVarToBeRendered" and "
"
トークンを読むときは、明らかに引用符で識別されるmyVarトークンを置き換える必要があります。このmyVarは、各変数にレンダリングされる文字列値を保持するHashMapのキーとして使用されます。トークンが見積もりであるかどうかをチェックする方法はありますか?次のように:
if (tok.next - is a quote or inside my quotes)
Then replace this var name with its related HashMap value
私はインターネットを精査して、一緒に私を助けるための例や類似の質問を見つけることができません!
または、どのようなトークンがHashMapで使用する変数であるかを識別できるように、私が使用できる任意のメソッド。申し訳ありませんが、これが意味をなさない場合は、私がしようとしていることを理解して欲しい!!
多くのおかげでサム