アプリ版:「スタンプのみでお礼する」機能のリリースについて

テキストエディタで"a1"~"h8"まで64種類以外の文字列を一括削除したいと考えています。
消したい文字列は「半角アルファベットaからh、半角数字1~8で構成される2文字ずつの組み合わせ」以外の全ての文字です。改行も消したいです。

(例)
たとえば以下のような文字列を、
9. e6 10. e7
11. d7 12. g6
13. g5 14. c5
15. -- 16. c6

以下のようにしたいのです。
e6e7d7g6g5c5c6

正規表現の初心者です。どうぞよろしくお願いします。

A 回答 (2件)

オセロの棋譜ですかね?



awk、Perlが使えて正規表現にこだわらないのであれば

cat data.txt | awk '{ print $2 $4 }' | perl -pe 's/\r\n/\n/; s/\n//'

Perlが使えるなら

cat data.txt | perl -pe 's/.*?([a-h][1-8])/$1/g; s/\r\n/\n/g; s/\n//g'
    • good
    • 0

テキストエディタでは難しいように思います。


逆に特定の文字列パターンを消したいのなら簡単なのですが。

スクリプト言語を使えば簡単です。
例えば、rubyの場合だと、変数aに文字列が入っていると
a.scan(/[a-h][1-8]/).join
でできます。
    • good
    • 0
この回答へのお礼

rubyは使ったことがありませんが興味が沸いてきました。
回答ありがとうございました。

お礼日時:2012/11/16 13:45

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