夏休みとお勉強とRegExp.Replaceメソッド

today

こんにちは amphibianです
夏休みももうおわりですね みなさんが戦っているのは 夏休みの宿題でしょうか ポ○モンでしょうか ○ジラでしょうか この伏字に意味はあるのでしょうか
amphibianは子供のころ というか高校性~大学生のころ 大人になったら夏休みがなくなるということに結構な絶望感を覚えていました
ずっと働かないと ずっと嫌なことをしなければならない もう今のように好きなだけ本を読んだりゲームをしたりものをつくったりは できないんだろうって

いま振り返っても 夏休みがあったあのころに戻りたくはないなと思います

なぜだろうと振り返ったとき 結局じぶんは勉強や宿題やテストがキライだったんだろうとおもいしることにします

短期間にたくさんのことを覚えるのがわりと得意だったのと 幼少期から「オシリスの旅」とかの あきらかに筋が難解な絵本を好き好んで読んでたせいか 読解力という点であまり困らなかったです
「教科書に書いてあることを理解して覚える」ことさえできれば 小中の勉強は かなりやれるのではないかとおもいます
覚えている範囲で いちばん苦労した小中の勉強って 九九の暗記だったきがします なきながらおぼえた

高校に入ると そういう通り一遍の理解力では太刀打ちできない難解な概念や専門知識があらわれてきますし
このころから明らかに暗記力がにぶっていき 短期記憶はかなりすっぽりと抜け落ちるようになってきました
おかげで高校ではかなりの劣等生でしたし さらにややいたみのある人格だったため いろいろと恥をつみかさね
うーん うーん 高校時代には いちばんもどりたくない

大学では やりたい学問をえらんでがんばりましたが 高校のときの基礎力不足は 最後まで足をひっぱりさっぱり
あと 「理解できないと眠くなる」クセがついてしまっていて ものすごくいろいろ不利になりました
こざかしく立ち回ってなんとか卒業できたものの 何人かの先生には嫌われてただろうなあ

そんながくせいだったじぶんにとって 長期休暇って結局 「嫌なことからの逃避」だったのだなとおもいます

幸いにしてamphibianは いまの会社でおおむね好きなことをやらせてもらってます
生物学の英語論文を読み漁るのは苦手でも ゲームやコンピュータの最新記事 技術系のドキュメントを読むのは苦にならないですし
こないだ狩猟試験をうけたときも 自分ですき好んだ勉強なら嫌になりませんでしたし 資格がついてくるというのは とてもいい達成感ですね
ゲームをつくるときに 色々取材や考証という名の勉強もするわけですが 資格という明確なかたちでリターンがあるのは やっぱりちがいます

何がいいたいかというと 大人になってからの仕事や勉強というのは 自分ですき好んでやるぶんには さほど悪くないよということです
だから「自分の本当にやりたいこと」を知るのは とても大事だとおもいます

いわゆる夢っぽい職業にあこがれて「自分がホントにやりたいのはコレだ!」と決めつけるんじゃなくて
もう少し広い視野で「自分がどんな分野に向いているのか」「どんな分野に興味があるのか」といったことを
少しずつ探っていくのがいいんじゃないかと思います
そういうのが見つからず 適当な職場に入ってみたとして 意外とどんな職場でも いろんな特性を潜在的に必要としているもので
あなたの存在がお仕事を劇的に改善したり 成功させたりするかもなので 常にじぶんのすきなことをやってやろうと考えてみることは大事です
そうなると仕事はかなり自由ですし 頭の働かせ方は「遊んでいるとき」に近くなっていきます

大人は おもったより色々すきにできますので
たのしみにする価値は あるとおもいます


以上は 夏休みの将来的喪失をなげいているひとへのメッセージであり かつ 本記事の前置きです


amphibianはADVのゲーム本体のぷろぐらみんぐにはかかわってません
ただ ゲームを構成する膨大なデータを裁くためのしくみづくりや コミュニケーション手段の整備には けっこうかかわっています
nabeさんもかなり本格的な支援ツールを自作してくれたりしています
ADVチームはわりと技術屋的な側面があったりするのです
ひとでぶそくはにんげんをさいげんなくつよくしますね(善悪はおいておいて)

いまamphibianはExcel VBAをけっこう多用していて 直近の作業もかなりこれでミスを減らせたのですが
ADVの業務フローをけっこう改善できそうなマクロ作成がげんざい暗礁にのりあげているのです

ぶっちゃけ誰か助けてくれ

やろうとしているのはVBAのRegExp.Replaceメソッドを使っての正規表現による置換で
これで改行コード(\r\n)を変換元にマッチさせることはできてるものの
変換先に\r\nを指定すると問答無用でエスケープされるらしく ただの文字として出力されてしまう
改行部分をグループ化して後方参照すれば急場はしのげるものの もっと根本的な解決策がある気がする
ただでさえ半角全角の変換や大文字小文字の変換みたいな大きな問題がひかえているのにこんな基礎的なところでひっかかってらんない
というかなんでこんなに知見がすくないの? みんなVBAで正規表現を使おうとかおもわないの? 後方参照の必要とかそんざいしないの!?
でも知○袋とかに書き込むのは なんか こう さあ!!

 

って書いてるあいだに解決策を思いついたのでためしてきます

っていうか前に類似問題を解決してたわ エスケープされた文字列を最後の処理で別途検索してvbCrLfに置換したらいいんだわ
ってめんどくさいわ 一回のReplaceでうまくする方法はほんとにないのだろうか
もしご存じの方がおられたら教えてください

さっきから何いってんだこいつと思ってる方は amphibianはなにかしらむずかしい技術的な仕事もしていてがんばっているのだなあとかいって てきとうに感心しておいていただけるとさいわいです
こんかいはここまでー

関連記事

  1. 2018.08.10

    #ADVRADIO Vol.8
  1. 次回作期待してます! 2016.08.27 11:28pm

    Dim s : s = "おなか" & vbNewLine & "空いたわ"

    With New RegExp
    .Pattern = "\r\n"
    MsgBox .Replace(s, "\r\n") ‘ これで困っている?
    MsgBox .Replace(s, vbCrLf) ‘ 初めからこうすれば?
    End With

  2. 匿名 2016.08.27 10:03am

    複数行→複数行ということなら、置換先「 "文字列" & vbCrLf & "文字列"」ではだめなの?
    とちょっとググってきたばかりのVBAド素人は思いました。

  3. 匿名 2016.08.27 3:11am

    RegExp.Replaceでは、Patternプロパティに書かれた文字列は正規表現が適用されて、エスケープ文字も機能するけど、それ以外の検索対象や置換文字列は正規表現とは見なされないので、エスケープ文字が使えないっぽいですね。

    エクセルのセルでやるならば
    ——————————–
    [Pattern記述セル]
    う\nんこ
    [置換文字列記述セル]
    うん\nこ
    ——————————–
    となっているのを
    ——————————–
    [Pattern記述セル]
    う\nんこ
    [置換文字列記述セル]
    うん

    ——————————–
    とかセル内改行しておけば、いけるかもですね。
    どう使うか次第ですけど、共通処理として置換文字列記述セルをあらかじめReplaceしといた方が、処理時間はかかるけど楽そうな気がします。

    僕もゲーム用のデータを秀丸の正規表現でよく処理するので、他人事とは思えず。
    役に立たなかったらすいませんです。

HTMLタグはご利用いただけません。


※コメントは承認されるまで表示されません。ご了承ください。
投稿前に『サイトポリシー』もご確認ください