- PR -

TXT FILEの読み込みについて

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/12/14
投稿数: 2
投稿日時: 2006-12-14 08:36
txt ファイルから数字のみを抜き出したいのですが.
以下のテキストファイルから,5行目の166,6行目の61,7行目の34,8行目の46,9行目の73の5つの数字を抜き出して,表示させたいのですが,どのようにしたらいいでしょうか?
当方,初心者のため,まったくわかりません.だれか,助けてはいただけないでしょうか?


1 PV1||I|^^BED 7&7&1<CR>
2 OBR|||||||19991213140640<CR>
3 OBX||ST|33040^Model^SDN|0|SDN Broadcast||||||F||CONFIGURATION<CR>
4 OBX||ST|32920^sMode^SDN|0|MONITORING||||||F||SETTING<CR>
5 OBX||NM|40^HR^SDN|0|166||||||F<CR>
6 OBX||NM|49^P1 S^SDN|0|61||||||F<CR>
7 OBX||NM|50^P1 D^SDN|0|34||||||F<CR>
8 OBX||NM|51^P1 M^SDN|0|46||||||F<CR>
9 OBX||NM|92^RR^SDN|0|73||||||F<CR>
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-12-14 09:11
文字列 - String 型に対する操作なので、String クラスにどのような操作ができるのか調べてみましょう。
こういった場合は API リファレンスを見ます。
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html

で、文字列中に特定の文字がどこに入っているかどうか調べるには String.indexOf()、文字列から特定の場所を抜き出す操作は String.substring()を使えばできます。
たとえば indexOf で "|0|"が現れる場所と"||||||"が現れる場所を調べれば、抜き出したい数字が登場する位置の始めと終わりが検出できますね。
それらの位置情報をつかって数字を substring で抽出できます。


正規表現に慣れていれば java.util.regex.* パッケージを使う方法もあります。

がんばってください。

[ メッセージ編集済み 編集者: インギ 編集日時 2006-12-14 09:12 ]
未記入
大ベテラン
会議室デビュー日: 2005/03/12
投稿数: 148
投稿日時: 2006-12-14 09:21
まずはとりあえず条件を厳密に考えるといいのではないでしょうか。

どんなデータも、5,6,7,8,9行目だけが対象なのでしょうか?
各要素は|で区切られているということですね。
要素が空、たとえば||||ということがある。
各行の6番目の要素を取り出すということでしょうか?
各行の要素が6個未満のことがある。

あと何処まで自分が知っているとか判らない部分とか
こうしたらいいんじゃないか(自分の考え)とか示すといいですよ。
たとえば、1行ずつテキストを読み込むことなら出来るとか。

そうしないと答えにくいでしょ。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-12-14 09:40
引用:

未記入さんの書き込み (2006-12-14 08:36) より:
初心者のため,まったくわかりません.


両方とも、「こういうことを言っているうちは力をつけられない」系の言葉です。
日本語で「これこれ、こういう流れにすれば取り出せそうだ」くらいは、まず考えてみましょう。
「考える」こと「試してみる」ことの積み重ねが、力になっていきます。
1

スキルアップ/キャリアアップ(JOB@IT)