本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:MIFESマクロ 置換 数値と文字列)

MIFESマクロで文字列を数値+文字列に置換する方法

2023/10/21 01:46

このQ&Aのポイント
  • MIFESマクロを使用して、文字列を数値+文字列に置換する方法を教えてください。
  • MIFESマクロでの数値と文字列の置換方法について教えてください。
  • MIFESマクロで文字列を数値と文字列の組み合わせに置換する方法を教えてください。
※ 以下は、質問の原文です

MIFESマクロ 置換 数値と文字列

2022/08/14 08:07

MIFESマクロで、文字列を数値+文字列に置換したいのですが、文法がわかりません。どなたかご教示お願い致します。

回答 (4件中 1~4件目)

2022/08/14 21:45
回答No.4

MIFESはテキストエディターだから
すべて文字列ですよ


もしかして アスキーコードから説明しないとだめな人?

補足

2022/08/14 23:01

とにかくサンプルコードが知れればいんですが。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2022/08/14 19:02
回答No.3

多分根本的に作り方が違うと思う

>>↓方向に"A"を検索して見つからなくなるまでA+変数に置換
MIFESを持ってないのでよくわからんが

ググっても関数の説明がない
http://mifes.client.jp/mifes_8.html
一括置換 breplace()

で 一行で済むと思う

与える パラメータ の内容がどこにもない

多分正規表現で変換


マクロ記録機能があるので
記録開始して
置換のBOXを開いて

http://www.script-factory.net/software/FinderHelpers/PowerRenamer/manual/ja.lproj/09_numbering/index.html

ここを参考に
検索文字 ”A"
置換を $#
で実行

マクロ記録終了で
 できたマクロを改造でいいと思う

補足

2022/08/14 20:48

マクロ記録機能で実行したら
replace(REP_BATCH,0x0003,"A",1,99999999,"$#")
となり、ただの文字列変換になりました。
理想↓
変換前



...
変換後
A1
A2
A3
...

質問者
2022/08/14 10:17
回答No.2

どうせ正規表現がわからないんだろう
私もあまり理解してないww
https://www.megasoft.co.jp/support/mifes/seiki.html
<電話番号の検索>

https://www.megasoft.co.jp/mifes/seiki/
4桁の数字 \d{4}
4桁以上の数字 \d{4,}
4桁までの数字(1~4桁の数字) \d{1,4}
4~10桁の数字(最長一致) \d{4,10}
4~10桁の数字(最短一致) \d{4,10}?

置換
https://www.megasoft.co.jp/mifes/seiki/index_r1.html

補足

2022/08/14 13:38

*test1 Aを検索してAの後に1から始まる数値を加算
@1=search(2,0x0003,"A")
if @1==1 :もし"A"を検索した結果が1ならば
@2=1 :@2に1を代入
@3 = sprintf( @str1, "%s%s", "A", @2) :@3にstr1をset str1に"T"+@2(変数)をset ←この辺りからわかりません
insstr( @3 )
else
insstr("Aはありませんでした")
endif
*

理想の構文は

↓方向に"A"を検索して見つからなくなるまでA+変数に置換
変数=変数+1
繰り返し

質問者
2022/08/14 08:35
回答No.1

MIFESのマクロマニュアルが公開されています。
ご覧になっていらっしゃるでしょうか?
https://download.megasoft.co.jp/http/MIFES/macroman_miw7.pdf

補足

2022/08/14 13:53

*TEST1 AをA+数値に置換
@1 = search(2,0x0003,"A") ;現在地から↓にAを検索   ←現在地からの定義がわかりません
while @1==1 ;@1の値が1の間
@2 = 1 ;@2に1を代入
@3 = sprintf( @str1, "%s%s", "A", @2) ;@3にA+@2を代入  ←ここがわかりません
insstr(@3) ;@3を挿入する
@2 = @2 + 1 ;@2の値に1を足す
wend ;whileの行へ
*

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。