最近C#を勉強し始めて、ファイルの扱いに困っています。
別に用意してあるHTMLファイルを読み込み、そのファイルの一部の内容を書き換え(そのファイルの何行目の何文字目を変更するかは決まっています)、元のファイルに上書き保存するようなプログラムを作りたく色々と調べたのですが答えが見つかっていません。
ファイルの編集、保存は一回のみではなく、プログラムの動作中に何回も書き換えてその度に保存したいので、書き換える部分に変更はないですが数値は毎回変わります。
一部だけ変更が難しいなら、その一部だけ変更した行全体を丸々入れ替えてもいいのですが、それも方法がよくわかりません...
お手数ですが、どうぞよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>>もし変更が必要な個所を修正するメソッドをご存じなら、教えていただけたら幸いです...
紹介した本にある例ですと、以下の文字列の*1,*2,*3の部分を氏名、県名、敬称に置き換えてコンソール出力しています。
static void Main(string[] args) {
const string name = "タロウ";
const string address = "千葉県";
const string keisho = "さま";
string s = "*2にお住まいの*1*3へご連絡がございます。";
Console.WriteLine(s.Replace("*1",name),Replace("*2",address),Replace("*3",keisho));
}
この例は、stringのReplaceメソッドを、メソッドチェーンの考え方で置き換えています。
ただ、上記のような処理で、修正したい文字列を探すのではなく、正規表現を使って検索、置換するほうが楽なこともあると思います。
以下のページには、正規表現のことが書かれています。
http://dobon.net/vb/dotnet/string/regex.html
No.1
- 回答日時:
素直に、目的のファイルを丸ごと読み込んで、変更が必要な箇所を修正し、全体を上書き出力すればいいんじゃあないですか?
プログラム実行中に何度も書き換えるなら、変更と上書き出力を何度も行えばいいだけ。
まあ、実行効率の問題を思えば、もっといいやり方もあるでしょうが、さしあたりは上記の方法でいいと思います。
ちなみに、「C#ショートプログラミング(短いコードで生産性を高める必修テクニック)」って本には、
・テキストファイル全体の読み込み
・文字列全体の書き込み
といったサンプルコードが掲載されています。この本には、ファイル操作だけでなく、文字列操作など、イロイロと効率的なコードサンプルが掲載されていますので、参考になると思います。
早速の回答、ありがとうございました。
紹介された本も探してみます。
もし変更が必要な個所を修正するメソッドをご存じなら、教えていただけたら幸いです...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
ホテルを選ぶとき、これだけは譲れない条件TOP3は?
ホテルを探す時、予約サイトで希望条件の絞り込みができる便利な世の中。 あなたは宿泊先を決めるとき「これだけは譲れない」と思う条件TOP3を教えてください。
-
【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
【お題】 ・世界最古のコンビニについて知ってる事を教えてください
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
【C#】DataGridViewの最大列数について
システム
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数行の文字列を変数として使...
-
特定フォルダ内のテキストファ...
-
VB6側からテキストファイルをク...
-
VBAで新しい日付順にファイルを...
-
VBAでPowerPointからExcelにデ...
-
テキストファイルを直接置換す...
-
RandomとBinaryモードの違い
-
時間短縮のために、テキストフ...
-
テキストファイルの行頭に文字...
-
ある文字列を含む行の抽出
-
VBSを用いてIPアドレスを取得し...
-
バッチでiniファイルの編集
-
fortranでのcsvファイルを出力...
-
Excel.VBA テキストファイルを...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
バッチでテキストファイルから...
-
バッチ終了時にDOS窓を閉じるコ...
-
VBAでワークシートを引数として...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6側からテキストファイルをク...
-
Excel.VBA テキストファイルを...
-
複数行の文字列を変数として使...
-
VBAでPowerPointからExcelにデ...
-
特定フォルダ内のテキストファ...
-
バッチでiniファイルの編集
-
ある文字列を含む行の抽出
-
BCPユーティリティの使用法_...
-
VBAで新しい日付順にファイルを...
-
access vbaでCSVファイルを文...
-
fortranでのcsvファイルを出力...
-
テキストファイルを直接置換す...
-
unicode文字列(日本語)のファイ...
-
iniファイルとの比較(iniファイ...
-
VBSを用いてIPアドレスを取得し...
-
VB.NETでテキストファイルからH...
-
テキストファイルの行頭に文字...
-
A列をテキストファイル名に、B...
-
時間短縮のために、テキストフ...
-
Pythonでの文字列の操作
おすすめ情報