gpt4 book ai didi

java - StreamTokenizer,渲染html文件?

转载 作者:行者123 更新时间:2023-12-01 15:41:54 26 4
gpt4 key购买 nike

我正在制作一个 HTML 渲染器。我将 html 文件读入 StreamTokenizer 中。目前它打印出正确的标记,并在我的 html 文件中指定用美元括起来的 varbiles,例如

<html><p>$myVarToBeRendered$<p></html>

我得到了正确的标记,即它通过使用 quoteChar('$') 分割了 html 主体和变量

FileReader in = new FileReader(file); 
BufferedReader reader = new BufferedReader(in);
StreamTokenizer tok;
tok = new StreamTokenizer(reader);
tok.resetSyntax();
tok.wordChars(0, 255);
tok.quoteChar('$');

我得到了字符串标记

"<html><p>" , "myVarToBeRendered" and "<p></html>"

尽管在阅读 token 时,我显然需要替换被标识为引用的 myVar token 。这个 myVar 用作 HashMap 中的键,保存要呈现给每个变量的字符串值。有没有办法检查 token 是否是报价?像:

if (tok.next - is a quote or inside my quotes)
Then replace this var name with its related HashMap value

我搜索了互联网,但找不到任何示例或类似的问题来帮助我!

或者我可以使用的任何方法,以便我可以识别哪些标记是要在 HashMap 中使用的变量。抱歉,如果这没有意义,希望你明白我想要做什么!!

非常感谢山姆

最佳答案

可能我误解了这个问题,但您可以通过简单地调用 myMap.containsKey(myVarToBeRendered) 来检查 map 中 token 的存在。

另外,我认为使用正则表达式模式匹配从 html 中提取替换变量似乎比使用 StreamTokenizer 更好。

关于java - StreamTokenizer,渲染html文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7921492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com