HTMLファイルをタグごとに区切って、value属性を持つものには、value=""のダブルクオートの
中に文字列を入れて、以下のように出力させたいと思っています。
<html>
<body>
<input type="text" name="name" value="出力させたい値">
</body>
</html>
そのため、以下のクラスを作成しました。
public class Sample {
private static final String findValue = "value=\"";
private static final int valueLen = findValue.length();
public static void main(String[] args) {
String html = "<html><body><input type=\"text\" name=\"name\" value=\"\"></body></html>";
StringBuffer sb = new StringBuffer(html);
int tagStart = sb.indexOf("<");
int tagEnd = sb.indexOf(">") + 1;
if (tagStart >= 0 && tagEnd > 0) {
String tag = sb.substring(tagStart, tagEnd);
System.out.println("tag : " + tag);
int valueIndex = tag.indexOf(findValue) + valueLen;// パラメータ挿入開始位置
if (valueIndex > valueLen) {
String tagLeft = tag.substring(0, valueIndex);
String tagRight = tag.substring(valueIndex, tag.length());
String ret = null;
ret = tagLeft + "あああ" + tagRight;
System.out.println("ret : " + ret);
}
}
}
}
しかしこの処理だと最初のタグしか読んでくれず、次のタグの呼び出し方が思い浮かびません。
どなたかご助言をお願いいたします。
No.1ベストアンサー
- 回答日時:
//1つの方法
public static void main(String[] args) {
String html = "<html><body><input type=\"text\" name=\"name\" value=\"\"></body></html>";
int tagStart = 0;
int tagEnd = 0;
while(true){
tagStart = html.indexOf("<", tagEnd);
if(tagStart == -1) break;
tagEnd = html.indexOf(">", tagStart + 1) + 1;
if(tagEnd == 0) break;
String tag = html.substring(tagStart, tagEnd);
String rep = tag.replace("value=\"\"","value=\"あああ\"");
// System.out.println("tag : " + tag);
System.out.println("rep : " + rep);
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- Java java final 1 2022/06/10 22:49
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Struts2のifタグについて
-
log4jのレベルをdebugにすると...
-
リクエストに応じたselectedの...
-
Wi-Fiのパスワードが指定なしと...
-
腕時計の時報をならないように...
-
登録後、呼び出し元ページに戻...
-
JavaScriptとACCESSデータベー...
-
Strutsで画面遷移させない。
-
三菱GOTの画面切り替えについて
-
javascriptでローカルフォルダ...
-
【JSP】input typeで入力された...
-
ASP.NET 画面遷移前の状態を保...
-
気になる女子のLINEのトーク画...
-
リンク先として、ページの途中...
-
スクリップト
-
vbaで、オートシェイプ文字列、...
-
UWSCの画像認識でのコードがよ...
-
登録済みイベントリスナーの情...
-
dbからデータをとりだす際、sql...
-
[VB6]画像切り取り
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リクエストに応じたselectedの...
-
フォームで同じ複数のnameで違...
-
int型の内容をbyteの配列にコピー
-
「<c:forEach タグが終了し...
-
フォーム上で押されたボタンに...
-
JSPでのリストボックス表示
-
EL式 true falseを表示
-
jspでjavascript関数へ引数を渡...
-
Struts2のifタグについて
-
jspファイルで注文フォームの合...
-
JSPでのサブミット判定
-
複数のsubmitボタンを使い値を...
-
javaでDBから取得したデータのJ...
-
ボタンクリック-JSP判断
-
Strutsでの入力データチェック...
-
StrutsでPOSTのデータ(リクエ...
-
checkboxのvalue値を動的にしたい
-
strutsを使用したjspでjavascri...
-
log4jのレベルをdebugにすると...
-
JSPとサーブレット間での画面遷...
おすすめ情報