Ik maak een HTML-renderer. Ik heb het HTML-bestand laten inlezen in een StreamTokenizer. Op dit moment worden de juiste tokens afgedrukt en in mijn html-bestand geef ik mijn varbiles op die zijn ingesloten in dollars, bijvoorbeeld
<html>$myVarToBeRendered$
</html>
Ik krijg de juiste tokens, d.w.z. het splitst het html-lichaam en vars op met behulp van quoteChar ('$')
FileReader in = new FileReader(file);
BufferedReader reader = new BufferedReader(in);
StreamTokenizer tok;
tok = new StreamTokenizer(reader);
tok.resetSyntax();
tok.wordChars(0, 255);
tok.quoteChar('$');
Ik krijg de tekenreeksen
"<html>" , "myVarToBeRendered" and "
</html>"
Hoewel ik bij het lezen van het token uiteraard het myVar-token moet vervangen dat als een quote is geïdentificeerd. Deze myVar wordt gebruikt als een sleutel in een HashMap die de reekswaarden bevat die voor elke variabele moeten worden weergegeven. Is er een manier om te controleren of een token een citaat is? net zoals:
if (tok.next - is a quote or inside my quotes)
Then replace this var name with its related HashMap value
Ik heb het internet doorzocht en kan geen voorbeelden of vergelijkbare vragen vinden om me te helpen!
Of elke methode die ik zou kunnen gebruiken, zodat ik kan identificeren welke tokens variabelen zijn die in de HashMap worden gebruikt. Sorry als dit geen steek houdt, ik hoop dat je begrijpt wat ik probeer te doen !!
Veel dank, Sam