英単語を半角スペースで区切る(CotEditor)
Published at 2005-08-01 (Mon) 19:05 in CotEditor
appling 2ndさんからのご要望、英単語を半角スペースで区切る CoteEditor 用スクリプトを作ってみました。Jedit Xのスクリプトライブラリのにあるサンプルちょっと変形したものです。英単語(アルファベットの a-z,A-Z で構成される文字列)と日本語などの全角文字との間に半角スペースを挿入します。(全角のスペース、句読点、括弧が隣接している場合は半角スペースを挿入しません。)


#!/usr/bin/perl
# Separate english word by space
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%
use strict;
use warnings;
use encoding 'utf8';
# my $none_english_char = qr/([\x{3020}-\x{2FFF0}])/;
my $none_english_char = qr/([\x{3020}-\x{ff07}\x{ff10}-\x{2FFF0}])/;
my $english_char = qr/([[:upper:][:lower:]]+)/;
while (<>) {
s/$none_english_char$english_char/$1 $2/g;
s/$english_char$none_english_char/$1 $2/g;
print;
}
