KoReKuRai
   英語/転職   海外/国内旅行   健康    ☰ MENU

C# File.ReadAllLinesとWriteAllTextでテキストファイル内の特定文字列を置き換える

csharpaspnet

テキストファイルに文字列が何行も入っていて、特定の文字列を指定した文字列で置き換えたい場合、C#で書く方法は何通りもあると思いますが、私は以下のコードを使ってます。

サンプルのテキストファイルをプロジェクト内に配置します。sample.txtの中身:


1行目:シーシャープって知ってる?おいしいの?
2行目:どこに行ったら食べれるの?食べても安心?
3行目:本当においしいのかな?安全じゃなかったら食べたくないな。
4行目:でも興味があるから今日食べてみる。

 

目的はテキストファイルにある「おいしい」という文字を「美味しい」に変換することです。 ではコードは以下の通り:


using System.Configuration;
using System.IO;
using System.Text;

            string dirpath = @"C:\temp\";
            string filename = "sample.txt";
            string oldtext = "おいしい";
            string newtext = "美味しい";
            StringBuilder strread = new StringBuilder();
            string[] strarray = File.ReadAllLines(dirpath + filename, Encoding.UTF8);
            for (int i = 0; i < strarray.GetLength(0); i++)
            {
                if (strarray[i].Contains(oldtext) == true)
                {
                    strread.AppendLine(strarray[i].Replace(oldtext,newtext));
                }
                else
                {
                    strread.AppendLine(strarray[i]);
                }
            }
            File.WriteAllText(dirpath + filename, strread.ToString());

結果、「おいしい」という文字列が「美味しい」に置き換わってるはずです。

このコードではFile.ReadAllLinesでファイルの中身を読み込んで、1つ1つの行で置き換えたい文字列がないか確認して、File.WriteAllTextで元のテキストファイル書き込んでます。 それだけです。

前提条件としてテキストファイルはUTF-8で保存してないと、File.ReadAllLinesでファイルを読み込む際に文字化けします。 勿論、Encodingは変更できます。

 

スポンサーリンク

📄 関連記事


🔝上へ
スポンサーリンク

📑 C#

📑 効率化



🔝上へ
こんな記事も読まれてます。

TRAVEL JAPAN
国内旅行 記事一覧

屋久島雨の日の空気伊豆下田のきれいな海富士山の頂上ってどんなとこ?京都観光マップ京都 紅葉とライトアップ富士山周辺観光マップ北海道の知床の絶景箱根駒ケ岳で見る富士山

TRAVEL ABROAD
海外旅行 記事一覧

インド出張 タクシーで牛と遭遇スペインで風車を見たナイアガラの滝の虹が凄い深夜のNYタイムズスクエア香港の夜景は船からアメリカのレンタカー代でいくら?グランドキャニオンまでドライブシドニーの世界遺産
🔝上へ

CATEGORY
カテゴリ

📂ビジネス:外資系企業の転職,英語,面接,働き方

📂国内旅行:北海道,屋久島

📂旅行,出張:スペイン,インド,台湾.飛行機対策

📂健康:風邪予防,食,メンタル

📂子育て:英語,育て方,旅行

📂PC関連:エンジニアの苦悩,効率化,Windowsのトラブル対応

📂海外ドラマ:海外ドラマ・映画のレビューと感想

📂車関連:海外のレンタカー,試乗レポート,軽自動車,等々

PROFILE
プロフィール

これくらいブログKoReKuRaiです。神奈川県在住。外資系IT業界でお仕事続けて12年。現在、3歳児の子育てに奮闘中です。ビジネス英会話、転職、出張、旅行記や子育て、サイト作成やコーディングに色々役立つと思うブログを書き足していきます。拙い文章ですがよろしくお願いします。メールはこちらまでお願いします。

Copyright 2017 KoReKuRai All Rights Reserved.