avoidnote

英単語を半角スペースで区切る(CotEditor)

Published at 2005-08-01 (Mon) 19:05 in CotEditor

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

separate_before

separete_after

separate_by_space.pl.txt


#!/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;
}
Copyright © 2005 atz. All rights reserved.
Creative Commons License Movable Type Valid XHTML 1.0 Strict W3C CSS