チケット #32621

テキストファイル内の文字列の削除or置換

登録: 2013-12-17 15:38 最終更新: 2013-12-19 13:26

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
9 - 最高
重要度:
5 - 中
解決法:
なし
ファイル:
なし
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

テキストファイル内の特定の行の文字列を全て削除し、 別の文字列を書き込みたいのですがうまくできません。 (結果的に置換するようにしたいです。)

例えば、文字列「あいうえお」と記載してあるテキストファイルが存在したとして、 以下の処理は実現できました。   ①filestrseekコマンドで「あいうえお」を検索。   ②検索結果に該当したらfileseekコマンドで文字列の長さ分、    ファイルポインタを現在地から前に移動。    (→「あいうえお」があった行の先頭にファイルポインタが移動)   ③filewriteコマンドで新しい文字列「かきくけこ」を書き込む。

しかし、③で新しい文字列「わをん」を書き込んだ場合、 処理結果が「わをんえお」となってしまいます。 (新しい文字列の方が短かった場合、最初の文字列で上書きできない部分が出てくる。)

一応、ASCII文字でDELはBS等でうまく処理できないか試してみましたが、 まだできていません。

上記のような状況ですので、 ファイル内の特定の文字列を置換するコマンドか、 特定の文字列を削除するコマンドを作っていただくか、 もしくはそれらの代替方法があれば教えてください。

チケットの履歴 (3 件中 3 件表示)

2013-12-17 15:38 更新者: rtabata
  • 新しいチケット "テキストファイル内の文字列の削除or置換" が作成されました
2013-12-19 12:14 更新者: (del#1144)
コメント

読み込み用と書き込み用にファイルを2つ開いて、1行ずつ変数に読み込んで、文字列を置換し、書き込み、最後にリネームすればよいのではないでしょうか。

2013-12-19 13:26 更新者: rtabata
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2013-12-19 13:26 に更新されました
コメント

教えて頂いた手順で解決できました。 ありがとうございます。

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする