2011年5月25日

[ruby-list:48112] Re: データ整形

返信大変遅れて申し訳ありませんでした。臼井です。

まずは皆様、いろいろアイデア頂きまして大変ありがとうございました。

一応、渡辺さんのスクリプトが狙いの動作に一番近かったので、試して見ました。
確かに、一行の文字列に対して特定の文字数で改行してうまく整形できるのですが
繰り返し動作がうまく表現できません。→勉強不足ですみません....<(__)>
もしかしたら、他の方に提供して頂いたスクリプトで実現できるかもしれません

が。。。
お知恵は、お借りできませんでしょうか?

昨日送付した整形前のデータは、
適当に私が書いたものでしたが実際、整形したいデータ(★)送ります。

★実は、組み込みCPUのメモリ上のデータフラッシュエリア(読み書き可能なROM)の
 単位ブロックエリア(1024バイト)のデータです。

狙い動作としては、以下の通りです。
?最初の32文字で改行しデータ出力→2回繰り返し
?次の4文字で改行しデータ出力
?次の14文字で改行しデータ出力→43回繰り返し
?次の32文字で改行しデータ出力→43回繰り返し

後できれば、左端にメモリのアドレスを付i加できればベストです。

以上、よろしくお願いします。

//うすい

> ----------
> while l = gets
> arr = l.scan(/(.{14})(.{10})(.{6})/)
> puts arr
> end
> ----------
>
> サンプルのデータでは動くのですが、ちょっと
> ひっかかる要素があるかも。
>
> 任意のデータ数とのことですが、一つのファイル
> なかでいろいろなパターンがあるとしたら、
> 工夫が必要になります。サンプルは14文字10文字6文字
> で、固定の場合です。
>
> String#scan は、パターンで文字列から必要なものを
> とりだすことができます。結果は配列に入ります。
> puts は配列を引数にすると要素単位に改行されるので
> ちょうどいいので一気に処理できます。
>
>

[\xE6\x9C\x9F緇\x85\xE3\x81\x99\xE3\x82\x8B\xE6\x95翫就\xE3\x82ゃ\x83<\x83若\x82\xB8.txt text/plain (306B)]
0x3000 AAAAAAAAAAAAAAAAAAAA00000000FFFF
0x3010 FFFFFFFFFFFFFFFF0000FFFFFFFFFFFF
0x3020 FFFF
0x3022 7F17F03BBFDF0F
0x3029 7F17F03BBFDF0F
\xE3\x80\x80鐚\x9A
\xE3\x80\x80鐚\x9A\xE7\x9C\x81\xE7\x95\xA5
\xE3\x80\x80鐚\x9A
0x3150 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0x3160 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
\xE3\x80\x80鐚\x9A
\xE3\x80\x80鐚\x9A\xE7\x9C\x81\xE7\x95\xA5
\xE3\x80\x80鐚\x9A
0x33FF 000001013F0000000000000000000000
[data text/plain (2.0KB)]
AAAAAAAAAAAAAAAAAAAA00000000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF7F17F03BBFDF0F7F0AE03BBFDF0F7F17D03BBFDF0F7F0AC03BBFDF0F7F17B03BBFDF0F7F0AA03BBFDF0F7F17903BBFDF0F7F0A803BBFDF0F7F17703BBFDF0F7F0A603BBFDF0F7F17503BBFDF0F7F0A403BBFDF0F7F17303BBFDF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000001014B00000000000000000000000000070F0F000000D6000000B1030000000001014900000000000000000000000001070F0F000000CB00000080030000000001014700000000000000000000000000070F0F000000CB00000080030000000001014500000000000000000000000001070F0F000000C00000004F030000000001014300000000000000000000000000070F0F000000C00000004F030000000001014100000000000000000000000001070F0F000000B50000001E030000000001013F0000000000000000000000

投稿者 xml-rpc : 2011年5月25日 21:57
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103958
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。