プロが教える店舗&オフィスのセキュリティ対策術

テキストを編集できるソフトを探しています。
具体的な目的を書くと、
英数字が並んでいる文字列の特定のアルファベットの後についている数字を一括で増減したいのです。

barr24rsim3e<b.bdedd8gaagm7av8bl2c8addem7aiif
といった文字列の場合、例えばmの後についている数字を一括で+2、-5の加算減算するなどの操作がしたいのですが、どういった方法が考えられるでしょうか?

よろしくおねがいします。

質問者からの補足コメント

  • うれしい

    加算だけなら方法をご存じということでしょうか。
    教えていただけますか?

    No.4の回答に寄せられた補足コメントです。 補足日時:2019/08/14 13:49
  • HAPPY

    mike_gさん。
    いろいろ方法を模索していただいていたようで、ありがとうございました。

    No.5の回答に寄せられた補足コメントです。 補足日時:2019/08/14 17:21
  • つらい・・・

    ありがとうございます。参考にさせていただいております。
    ただ、まったく知識がないせいで難航しています。
    申し上げにくいのですが、手順を具体的に細かく教えていただくわけにはいかないでしょうか。
    よろしければ、お願いいたします。
    officeのWordをつかって試行しております。

    No.6の回答に寄せられた補足コメントです。 補足日時:2019/08/16 17:33

A 回答 (8件)

正規表現が使えればよいので、その機能を持っているなら何でもよいかと。


ruby,perl,pythonなどの言語が使えるならそれを使用します。
    • good
    • 0

確認させてください。


「例えばmの後についている数字」が3の場合に「+2、-5の加算減算する」と
それぞれ 5、-2 になり、結局それぞれ m5、m-2 になるけどそれで“御の字”なの?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
いいえ、例えとして「+2、あるいは+5等」ということで書いていました。
mの後についている数字すべてに対し、特定の数字を加算または減算するための方法を探しています。
mの後の数字は0~99以内とした場合、としてお答えいただけますでしょうか。
よろしくお願いします。

お礼日時:2019/08/14 00:13

[No.2]ですが、


「mの後についている数字」の桁数は常に1桁?それとも決まっていない?最大何桁?常に正の整数?
    • good
    • 0
この回答へのお礼

mの後の数字は0~99以内の1桁から2桁の数字で、常に正の整数です。
よろしくお願いします。

お礼日時:2019/08/14 00:15

》 例えとして「+2、あるいは+5等」ということで書いていました


》 特定の数字を加算または減算するための方法を…
》 常に正の整数です
上記の中段の「加算または減算」は「加算」だけにしておくべきとは思いませんか?
つまり、タイトルどおりに、です。
この回答への補足あり
    • good
    • 0

≫ 加算だけなら…ということでしょうか?


いいえ。…だけならマクロ音痴で初心者の私でも、と思ったまでです。
作業列を設けて、FIND、SUBSTITUTE関数等を利用してアーでもない、コーでもないと試行錯誤しましたが、挫折いたしました。
色々頂戴したご確認を無駄骨に終わらせて仕舞い、恥じ入っております。済みませんでした。
この回答への補足あり
    • good
    • 0

カテゴリがExcelになっていますが、Excelで作業したいの?


Wordのマクロでしてもよいのなら、以下のもので対応できます。

テキストファイルをWordで開きます。
以下のマクロを登録して、実行。

Sub 指定文字の後ろにある二桁までの半角数字を加算()
'
' mの後ろにある二桁までの数字に+2をする
'
Dim myRange As Range

 Set myRange = ActiveDocument.Range(0, 0)
 With myRange.Find
' mの後ろにある二桁
  .Text = "m[0-9]{1,2}"
  .MatchWildcards = True
 End With
 With myRange
  Do While .Find.Execute = True
   .MoveStart wdCharacter, 1
' 数字に+2をする
    myRange = myRange + 2
   .SetRange .End, .End
  Loop
 End With
 Set myRange = Nothing

End Sub
この回答への補足あり
    • good
    • 0

No.6の回答者です。


どの部分を具体的に説明してほしいのでしょうか?

一応Officeのバージョンが分からないので、リボンのあるWord2007
以降として簡単な説明をしておきますね。

① テキストをWordに。
 テキストファイルの内容を全選択してコピー。
 Wordの新規文書に貼り付け。
 これで、基本期にはWordで開いたのと同じことになります。
② マクロを用意。
 [開発]タブが表示されていない場合、[リボンのユーザー設定]で
 [開発]にチェックを入れます。
 https://kokodane.com/word/word_macro_01.htm
 https://tonari-it.com/word-vba-beginner/
 [標準モジュール]を用意してもよいですが、今回のみの使用なら
 [文書 1]のプロジェクトから[ ThisDocument ]をダブルクリック
 して開いたものにNo.6のマクロを貼り付けます。
③ マクロを実行
 貼り付けたマクロ内にカーソルがある状態でF5キーを押すと
 実行されます。
 変化の状態を確認したいなら、Word文書に戻ってテキストを表示
 しておいて、[マクロ]ダイアログから[実行]します。
 https://hamachan.info/win10-and-office2016/macro …
    • good
    • 0

画像の添付を忘れていました。


マクロの貼り付け先です。
「検索した数字の一括加算」の回答画像8
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございました。
お書きいただいた手順通りに操作しただけで、全て解決しました!
お手数をおかけして申し訳ありません。大変助かりました。

お礼日時:2019/08/17 11:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!