最近知った言葉[正規表現]
今までの苦労はいったい… っていう出来事が起こりました
半角英数x半角スペースx全角カナ
例えばセルにこういう文字があったとして
happy summer days ハッピー サマー デイズ
半角英数と全角日本語の組み合わせ
happy summer days ←この英字が欲しい
ググったら
=RIGHT(A1;LENB(A1)-LEN(A1))
=SUBSTITUTE(あれこれ
=LEFT(TRIM(A1);FIND(“~”;SUBSTITUTE(A1;” “;”~”;LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1);” “;””))))-1)
などなど、いろんなところから拾うて切って貼り付けてとごちゃごちゃしていたんです
それに、右側の日本語になぜか半角のスペースで区切ってあるところがあり
ハッピー[ ]サマー[ ]デイズ
スペースがあると綺麗に分けてくれないこともあった
これが、検索置換
詳細オプションの「正規表現」にチェックを入れ
calcの置換
[^\x01-\x7E].+
これ一発で解決した
えぇえーーー!
ワイルドカード「*」が使えないと思っていたんですが
CALCはワイルドカードの記号が[.]らしく
[^\x01-\x7E].+
左端に半角スペース[全角の文字] ワイルドカード
これを空白で置換すると一発で消えた
ワイルドカードのような記号をなぜ統一してくれない(T-T
使えないと思っていました
[.]は一文字を表し
[+]が1つ以上という事なので
[.+]がいつも使っていた[*]と同じ意味になるのかな
追記:ワイルドカード*使える気がする
このやり方で出来たから,ありがたいばかりと思っていたんですが
ふと、今も本当に使えないのかな?
と思ってやってみると
普通に[*]アスタリスクでもできた…
全角の正規表現?
[^\x01-\x7E]*
これを空白の置換で、後ろの日本語が消えた…
区切りも簡単になった
この正規表現のおかげです
今まで
例)
いろはにほへと ちりぬるを わかよたれそ つねならむ ■ はひふへほー
■で区切られ、■以降は必要なかった
という所は
「■」を一回「|」で置き換え
「テキストから列へ」で区切っていたんです
区切るので、隣のセルが「はひふへほー」で潰されるわけです
■以降は空白で置換ということができるようになったので
■.+で置換
これ一発でできるようになった
ちなみに、こちらは[*]アスタリスクは使えない
なんで?
何かよく分からんけど、楽になったからいいか
1,2万行あるデータをよく使うんですが
LibreCalcよりもOpenOfficeCalcの方が早い気がする
起動は時間がかかるんですが、それ以降は結構サクサク動く