de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
Sam Palmer
Sam Palmer
質問

StreamTokenizer、htmlファイルをレンダリングする?

私は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で使用する変数であるかを識別できるように、私が使用できる任意のメソッド。申し訳ありませんが、これが意味をなさない場合は、私がしようとしていることを理解して欲しい!!

多くのおかげでサム

0 2011-10-27T19:47:34+00:00 1
Sam Palmer
Sam Palmer
編集された質問 27日 10月 2011 в 7:57
プログラミング
regex
rendering
java
html
html-parsing
mazaneicha
27日 10月 2011 в 8:02
2011-10-27T20:02:53+00:00
さらに
ソース
編集
#56792108

私は疑問を誤解しているかもしれませんが、myMap.containsKey(myVarToBeRendered)を呼び出すだけでマップ内のトークンの有無を確認できます。

別の注記では、正規表現パターンマッチングを使用して、あなたのhtmlから置換変数を抽出することは、StreamTokenizerを使用するよりも良いアイデアのように思えます。

1
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Roxana Elizabeth CASTILLO Avalos
登録済み 1週間前
2
Hideo Nakagawa
登録済み 1週間前
3
Sergiy Tytarenko
登録済み 1週間前
4
shoxrux azadov
登録済み 1週間前
5
Koreets Koreytsev
登録済み 2週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属