• ベストアンサー

BASICでテキストファイル内の文字列操作

MMLの方言を修正するために、MMLの中の#を+に変換する必要がありました。これをすべて手動で行うとどれだけ時間がかかるかわからないので、N88BASICでプログラムを作りたいのですが、どうやったらいいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

メモ帳なんかで置換した方が手っ取り早いと思いますが。 エラーチェックとか動作確認とかしないですが、N88BASICなら多分、 1000 OPEN "inp.mml" FOR INPUT AS #1 'ファイル1を読み取りオープン 1010 OPEN "out.mml" FOR OUTPUT AS #2 ' ファイル2を書き出しオープン 1015 ' 1020 IF EOF(1)=-1 THEN GOTO 1060 ' ファイル末尾なら1060 1030 INPUT #1, R$ ' R$に1行読み込み 1040 GOSUB 1100 ' R$をW$にコピー、但し#は+に置換する処理を呼び出し 1050 PRINT #2, W$ ' W$を1行書き出し 1050 GOTO 1020 ' ループ 1060 ' 終了処理 1070 CLOSE #1 1080 CLOSE #2 1090 END 1100 ' R$をW$にコピー、但し#は+に置換する処理 1110 N=LEN(R$) ' R$の文字列長さを取得 1120 W$="" ' W$をクリア 1130 FOR I=1 TO N ' 文字数分繰り返し 1140 IF MID(R$,I,1)="#" THEN ' "#"か? 1150 W$=W$+"+" '"+"に置換 1160 ELSE 1170 W$=W$+MID(R$,I,1) ' そのままコピー 1180 NEXT I 1190 RETURN だとか?

ayumi9821
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • f272
  • ベストアンサー率46% (8473/18137)
回答No.1

プログラムなど作らなくても,標準的なエディタでMMLファイルを開いて,置換コマンドで文字を置換して,保存すればOK。

ayumi9821
質問者

お礼

それもそうですが、せっかくなら勉強をかねてと思い。

関連するQ&A