none
文字列中に改ページコード(16進数で0C)が入っているかどうかを識別する方法 RRS feed

  • 質問

  • こんにちは。

    文字列中に改ページコード(16進数で0C)が入っているかどうかを識別したいのですが
    どのようにすればできるのでしょうか?

    stringクラスのcontainsメソッドに文字コードを渡せばよいのかと思っているのですが、
    どのように記述すればよいかがわかりません。

    すみませんがよろしくお願いいたします。


    2013年3月27日 10:22

回答

  • エスケープ文字'\f'をつかって検索できますよ

    byte[] bs = { 0x41 , 0x0c , 0x42 , 0x0D,0x0A ,0x41 };
    string s=System.Text.Encoding.ASCII.GetString(bs);
    if (s.Contains("\f"))
    {
        Console.WriteLine("改ページがみつかった");
    }
    if(s.Contains((char)0x0c)) //using System.Linq
    {
        Console.WriteLine("改ページがみつかった");
    }
    if (s.Contains('\f')) //using System.Linq
    {
        Console.WriteLine("改ページがみつかった");
    }


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答の候補に設定 佐伯玲 2013年3月28日 0:02
    • 回答としてマーク モモンガ24 2013年3月28日 0:16
    2013年3月27日 11:04

すべての返信

  • エスケープ文字'\f'をつかって検索できますよ

    byte[] bs = { 0x41 , 0x0c , 0x42 , 0x0D,0x0A ,0x41 };
    string s=System.Text.Encoding.ASCII.GetString(bs);
    if (s.Contains("\f"))
    {
        Console.WriteLine("改ページがみつかった");
    }
    if(s.Contains((char)0x0c)) //using System.Linq
    {
        Console.WriteLine("改ページがみつかった");
    }
    if (s.Contains('\f')) //using System.Linq
    {
        Console.WriteLine("改ページがみつかった");
    }


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答の候補に設定 佐伯玲 2013年3月28日 0:02
    • 回答としてマーク モモンガ24 2013年3月28日 0:16
    2013年3月27日 11:04
  • gekkaさん、回答ありがとうございます。

    if (s.Contains("\f")) { Console.WriteLine("改ページがみつかった"); }

    このif文でできました!

    どうもありがとうございました。

    2013年3月28日 0:16