C#で正規表現を使いパターンと一致した文字のインデックス位置を調べる

例えば、半角全角問わず最初に出てきた数字のインデックス位置を調べる場合。「\d」を使って半角と全角の「0〜9」に一致した位置を調べてみます。

\dは、「文字クラス」と呼ばれる文字のセットを表す表現で、0〜9の数字と一致するかを調べられます。 詳細はイカなどをご参照ください。

正規表現言語 - クイック リファレンス | Microsoft Docs

var wordList = new List<string>()
{
    "あいうえお1234",
    "あい上尾123+",
    "あいう",
    "あひゃ-",
    "ああAB",
};

// 半角全角問わず数字(0~9)
string pattern = @"\d";

foreach (var w in wordList)
{
    System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches(w, pattern);

    // 1つめだけわかればいいとき
    if (mc.Count > 0)
    {
        // 一致がある場合、最初に一致した位置を取得する
        int firstIndex = mc[0].Index;
    }

    // foreachで回せば全部調べられる
    foreach (System.Text.RegularExpressions.Match m in mc)
    {
        int index = m.Index;
    }
}

LUPICIAのメロン烏龍(メロンウーロン)が美味しかった

ルピシアのお茶の福袋に入っていたメロン烏龍。
おぃおぃイロモノか!?と思いきやアイスティーにしたら普通に美味しい。
面白いお茶でした。また買うかもw

メロン味な香りがほんのりと、味はスッキリしていて想像と全く違って美味しくて気に入りました。
ホットティーも試しましたが、冷蔵庫で6時間以上で作るアイスティーのほうがおいしい気がしました。公式もアイスティーをおすすめしていますね。
茶葉にメロンをイメージした薄緑の金平糖が入っているのもオシャレです。

 

 

他にアイスティーで美味しかったもの


ホットティーで好きだったもの

茶葉では売っていない。パック(三角)のみ。ジンジャーとシナモンが入っていてスパイシーで好き。

 

(メモ)アイスよりホットが美味しかったもの

 

(メモ)アイスティーで飲んでみたもの

 

(メモ)アイスティーで飲んでみたいもの

ホットで飲んだけど香りがめっちゃリアルで好きだったw

.NET Frameworkのソースコードも含めてデバッグする方法

.NETのフレームワークの内部で例外が出ていて、はっきりした原因を特定したいときに助かりました。


方法 : .NET Framework ソースをデバッグする
https://msdn.microsoft.com/ja-jp/library/cc667410.aspx
ただ、デバッグ用のソースのDBみたいなのをDLしてくるのに、割と時間かかった気がする。


githubにもあった。この中で検索してみると、例外の発生源のあたりがつくかも…
https://github.com/rashiph/DecompliedDotNetLibraries

↑.NET framework 4.5です… 

iMac Retina5KでVMware Fusion 8上のWindows10の画面解像度の調整

VMware Fusion8.5.10使用。

結論VMware Toolsの再インストールをしてみる

VMware Fusionの現時点での最新はバージョン10ですね。ブラックフライデーのセール(11月の第4金曜日から数日間。2018年は11/23)が一番安くなってた気がするのでもうちょっと待ってから買おうかと思ってますが…

それはそうと、ゲストOSをWindows8.1->10にアップグレードしたら、ウィンドウサイズむちゃくちゃ小さくなってしまい、アイコンが巨大になってしまって使いにくかったので調べました。Retina対応だったはずなのだが…。

名前が8.1のままですが、10にアップグレード済み。
以下はアップグレード直後の状態。アイコンが巨大すぎる。というかウィンドウが小さすぎる?

f:id:mocotanus:20180818170354p:plain

 

ウィンドウの右下をドラッグして画面サイズを大きくしたらしたで、今度はアイコンとかマウスカーソルとか文字とかが大きすぎて使いにくすぎる…デスクトップアイコンのサイズを小にするとかそんな次元じゃない様子

f:id:mocotanus:20180818170529p:plain

 

設定を変更してみる

公式の情報で試す。

Retina ディスプレイ サポートの有効化(VMware Fusion 8.0)
https://docs.vmware.com/jp/VMware-Fusion/8.0/com.vmware.fusion.using.doc/GUID-E142FF07-372C-4952-9AF7-B52865CCDAD1.html

 

ウィンドウ > 仮想マシンのライブラリ

f:id:mocotanus:20180818170709p:plain

仮想マシンを選択して>設定

f:id:mocotanus:20180818170743p:plain

>ディスプレイ

f:id:mocotanus:20180818170828p:plain

 

今の設定は以下。
チェックが入っている場合は、Retinaディスプレイの解像度に合わせて表示される→小さくなる(小さすぎて作業できない…)

f:id:mocotanus:20180818170918p:plain

 

設定の組み合わせを変えてみた。
拡張高解像度が「Unityのみ」だったので、「すべての表示モード」に変更。

f:id:mocotanus:20180818171237p:plain

設定を反映させるためサインアウトして再度サインイン。
変化なし。Retina対応にすると、アイコンなどが大きくなりすぎるのか…?

 

「Retinadディスプレイのフル解像度を使用」のチェックを外す。
仮想マシンの解像度は Retina ディスプレイの解像度の半分になるため、画面の大きさはRetina(Mac)側ディスプレイサイズと同じ感じになる。が、画質が荒くなる。

f:id:mocotanus:20180818171418p:plain

 

再度サインインしてみる。。
文字が滲んで見えるが最初の設定よりいい…(´・ω・`)

f:id:mocotanus:20180818171455p:plain

とりあえずこれでなんとか使える。。

f:id:mocotanus:20180818171525p:plain

 

理想の結果と違うが、他に方法・設定があるのだろうか?もっと良い感じに高解像度になるかと思っていた。

Windowsで画面解像度が変更できなかったのでなんで選べないんだと思っていたら、VMware Toolsの再インストールで直るらしい。

f:id:mocotanus:20180818184830p:plain

VMware Toolsを再インストールする

仮想マシンを起動した状態で
仮想マシン > VMware Toolsの再インストール

f:id:mocotanus:20180818184938p:plain

f:id:mocotanus:20180818185018p:plain

「インストール」クリック後、ぴろりろんと右下に四角いメッセージが出てきたが、クリックする前に消えてしまった。

かんたんインストールにしたせいかCドライブのみで構成されているので、DVDドライブがDドライブになっている。

f:id:mocotanus:20180818185200p:plain

とりあえずメッセージどおりsetup.exeを実行。

f:id:mocotanus:20180818185236p:plain

「修復」を選択

f:id:mocotanus:20180818185338p:plain

 

「物理ディスクヘルプドライバを自動インストールできませんでした」というメッセージが表示された。「OK」

f:id:mocotanus:20180818185537p:plain

VMware Toolsのほうはインストール完了。

f:id:mocotanus:20180818185609p:plain

 

ディスプレイ設定で画面の解像度が選択できるようになった。

f:id:mocotanus:20180818185636p:plain

VMのほうの設定も調整しなおす

f:id:mocotanus:20180818185714p:plain

理想通りの表示になってくれました。めでたしめでたし(´・ω・`)

f:id:mocotanus:20180818185746p:plain

iMac 27インチ Retina 5K ディスプレイ(Late 2014)のHDDを換装する手順(メモ)

f:id:mocotanus:20180728024903j:plain

自宅のiMacの内蔵HDDが壊れたので自力で修理してみました。
SSDにせずにまたハードディスクに交換して、再度FusionDriveにしました。
HDDじゃなくてSSDに入れ替えることも可能です。せっかく中開けるのなら、SSDに換装するほうがいいですよ。

自分で開けたらAppleの保証対象外になり、何かあっても自己責任となりますので注意。

電圧が高い部品に誤って触れた場合、感電(失神とかする?不明)することもあるようです。作業時には注意しました(´・ω・`)

 

[目次]

 

準備するもの


交換部品
  • 交換用HDD(SSDに替える場合はSSD)
  • 画面接着用両面テープ(専用)

 

道具

 

f:id:mocotanus:20180728030201j:plain 

オルファの28mmがあったのでこれで。
↓ロータリーカッターのアイディアは以下を参考にさせていただきました。
遅くなってきたiMac(mid 2014、21.5インチ)のHDDをSSDに換装してみました! - りんご道具な生活


プラスチックカードは、使ってないポイントカードを何枚か用意。最初に薄いほう、次に厚いほうを使いました。

f:id:mocotanus:20180728031214j:plain

中が暗いので、自立する懐中電灯、またはランタンがあると便利です。

f:id:mocotanus:20180729161742j:plain

 

spudger(スパッジャ)とやらも欲しかったのですが、指でなんとかなったかと思います。 ちなみに爪楊枝じゃすぐ折れてしまって全然代用できませんでした(中に落ちなくてよかった;)。

 

買ったもの

品質を考えると日本製にすればよかったか。
 

T10もT8も持っていなかったのでこのタイミングで買ってます。

iMac専用両面テープはここらへんで買いました。iMac27インチ(2012-2017)で共通です。

ディスプレイ用両面テープ 1台分, iMac 27インチ 5K 2017用 - Mac パーツ, SIMフリーiPhone 販売
https://www.vintagecomp.com/shopexd.asp?id=5250

iMac 27インチ Late 2012-2015用ディスプレイ両面テープ [IF174-005-1] |秋葉館.com Mac専門店
http://www.akibakan.com/BCAK0079789/

iMac 27インチ Late2012/2013/2014/2015/2017用 内蔵HDD交換取付ケーブル [OWCDIDIMACHDD12] |秋葉館.com Mac専門店
http://www.akibakan.com/BCAK0080802/

↑HDDからHDDの交換なら温度センサーいらないはず。SSDだといるっぽい。

準備する環境

  • 十分な時間
  • 集中できる環境

なんだかんだで作業開始から完了まで(机から下ろして修理して机に乗せるまで)6時間以上かかりました(´・ω・`)FusionDrive関係でハマったせいもあるかもしれませんが(´・ω・`)
得意な人はもっと早く終わると思います。

 

手順の確認

大まかな流れは、以下のようになっています。

開ける
 ↓
交換
 ↓
動作確認
 ↓
閉じる

必ず動作確認をしてから閉じましょうw
閉じるときにケーブルが抜けてないか確認しましょうw
閉じた後に何かあったら悲惨ですw(´・ω・`)

 

iFixitの手順解説ページ

iFixitの修理手順解説ページが懇切丁寧で完璧です。ここで手順を確認しました。

↓開ける、交換する

↓動作確認する、閉じる

 

解説動画

↓解説動画を発見。探すといくつか出てきます。

 

画面は強力両面テープでくっついてる

昔は画面を外すときは吸盤でぱかっとやってたのですが、できなくなっています。本体と画面の間の両面テープを剥がして開けていきます。これがけっこう面倒。

Late 2014と Mid 2015は同じ手順でOKです。
iFixitのページをいろいろ見てるとどうもLate 2012 、Late 2013、Mid 2017も同じ手順でよさげ。

 

前準備

タイムマシンなどで全体または必要なデータのバックアップを取っておいてください。

 

開ける

意を決して作業開始。ここからは生か死か(←Macが)、です(´・ω・`)

作業前にiFixitのページにあるとおり「コンピュータの電源プラグを抜き、電源ボタンを10秒間押し続けて、電源装置のコンデンサを放電してください。」をしておきます。
本体からもコードを抜けます。

f:id:mocotanus:20180728030651j:plain

 

画面と本体をを接着している両面テープを剥がしていきます。9.5 mm以上内部に入ると中の部品を壊す場合があるようです。 このカッターはそもそもそんなに刃が入らないのでOK。怪我予防のため刃の進行方向にできるだけ手を置かないようにして作業しました。

f:id:mocotanus:20180728030902j:plain

↓開けた後の写真ですが、中はこんな風になっているので差し込みすぎないようにします。(ちょっとガジってる…w)

f:id:mocotanus:20180729161128j:plain

 全周回ったら、画面側を上にしてテーブルの上に寝かせて、

f:id:mocotanus:20180728031536j:plain


9.5 mm以上入り込まないように注意しつつカードを挟んでいきます。が、なかなかはさまらず大変…(´・ω・`)

f:id:mocotanus:20180728031713j:plain

 

ディスプレイと本体がほとんど分離できたら、ディスプレイを持ち上げる作業に入ります。画面を持ち上げるときは、画面を割らないように気をつけてください!大きいので無理するとピキっとヒビが入りそうで怖かったです。ゆっくり慎重に(´・ω・`)


ディスプレイケーブルがまだ繋がっているので、がばっと開けずにちょこっとだけにしておきます。

f:id:mocotanus:20180728031929j:plain

せっかくだからおれは赤い掃除機で埃を吸い取っておくぜ。

 

あとはiFixitの手順を見ながら、順番にケーブル・ネジを外していきます。
私は手順どおりディスプレイを完全に本体から外しましたが、HDDやSSDに替えるだけなら完全に外さなくても作業できそうでした。画面は取ったほうがやりやすいのは間違いないです。 

 

ディスプレイケーブルの外し方のメモ 

ディスプレイと本体をつないでいるケーブルは2つあります。

f:id:mocotanus:20180803062232j:plain

 

左側は、両端にあるツメを内側に押し長ながら外したいんですが、小さすぎて手が入らず…とりあえず頑張って外します。

f:id:mocotanus:20180803062735j:plain

 

右側は、ベロのような部分を写真でいう下側にぱたっと折り返してから、写真でいう下側にそっと引っ張って外します。

f:id:mocotanus:20180804052435j:plain

f:id:mocotanus:20180804052730j:plain

f:id:mocotanus:20180805004415j:plain


iFixitにも説明している箇所がありました。「iMac Intel 27" Retina 5K Display CPU Replacement」のStep 19に写真があるのでご確認ください。

iMac Intel 27" Retina 5K Display CPU Replacement - iFixit Repair Guide

 

交換する

1TBから2TBに交換しました。2TBのほうが厚みがあり、無理かっ!?と心底焦りましたが大丈夫でした。
入れ替えた後、HDDの枠についていたネジは、T8ドライバーで外して新しいほうに付け替えておきます。けっこう固いです。

f:id:mocotanus:20180729152243j:plain

 

動作確認の前に、本体に残った両面テープを綺麗に剥がし、閉じる為の両面テープをつけておきます。
(動作確認の後だと、またケーブルを外して付けて、になってしまいます←経験者は語る)

f:id:mocotanus:20180729160123j:plain

f:id:mocotanus:20180804050437j:plain

12番は本体のフレームの形どおりに貼れませんが、そういうものだそうです(ぇ〜)

f:id:mocotanus:20180804050526j:plain

動作確認

iMacを立てるのが大変なため、動作確認でもまだ始終寝かせて作業してます。

自分の場合、FusionDriveの再構成をしました。
ここもハマり罠が多いですね…(´・ω・`)FusionDrive関係で調べたり試したりで時間かかりました。 

 

まずはケーブルを全て接続しなおして、電源が入るかを確認。
→電源OK。
「セットしたディスクは、このコンピュータで読み取れないディスクでした。」が出た。(フォーマットもなにもせずに開封したまま入れ替えたせいかも)
とりあえずHDDの認識もOK。。

f:id:mocotanus:20180729154624j:plain


悪戦苦闘の末、MacのFusionDriveの再構成も完了。(↓寝かせたままの作業でやりづらかった…)

f:id:mocotanus:20180729160325j:plain

f:id:mocotanus:20180729160822j:plain

↑、で、でけたぞぃ… 

 

コマンドはこの辺りを参考にしました。

https://support.apple.com/ja-jp/HT207584

 

閉じる

あとはiFixitの手順どおりに進めました。ひたすらありがたい存在ですね。。

画面を接着したら机に戻して完了です!
あとはバックアップから復元するか、新規マシンとして使用を開始してください。
お疲れ様でした。

終わりに

徹夜しました。
ディスプレイを開けるのと、FusionDrive再構成が大変でした(´・ω・`)

 

そうそう、タイムマシン使っていますか?普段からきちんとバックアップは取っておきましょぉ(´・ω・`)(自戒を込めて…)