EBシリーズサポート掲示板(終了:閲覧のみ可)
このフォームからは投稿できません。
name
e-mail
url
subject
comment

[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

記事No : 981
タイトル Re^3: in/under no circumstances という項目の検索
投稿日: 2017/04/10(Mon) 17:26:43
投稿者kurema
参照先https://gist.github.com/kurema/35c6849715bf8b9bd5d1d00776b8895c

遅い返信ですが、
こういう時は、Perlあたりを使えば何とかなります。

下の内容をshiftjisで保存して、conv.plあたりにリネーム、
perl conv.pl <in.html >out.html
で一括置換できます。

use encoding "cp932";

while(my $item=<STDIN>){
if($item=~ /(<dfn>(.+?)<\/dfn>)/){
my $dfn=$1;
my $txt=$2;
my $res=getKeys($txt);
$item=~ s/\Q$dfn\E/$dfn$res/g;
}
print $item;
}

sub getKeys{
my $txt=$_[0];
my $res="";
my @words=split(/\s/,$txt);
for(my $i=0;$i<@words;$i++){
my $word=$words[$i];
if($word=~ /\//){
my @ws=split(/\//,$word);
foreach my $w (@ws){
my $tmp="";
for(my $j=0;$j<@words;$j++){
if($i==$j){$tmp.=$w;}else{$tmp.=$words[$j];}
$tmp.=" ";
}
chop $tmp;
if($tmp=~ /\//){
$res.=getKeys($tmp);
}else{
$res.="\n<key type=\"表記\">".$tmp."</key>";
}
}
return $res;
}
}
return $res;
}


> ご返信ありがとうございます。
> そのような方法があるのですね。
>
> ただ、<dfn>in/under no circumstances</dfn>のようなどっちつかずのパターンの項目が多数あるので、例に挙げたような一括置換で簡単に変換できる書式がないかなと思っていたのですが、元ファイルはEPWINGというよりHTMLがベースなのでそのような便利な仕組みはやはり用意されてなさそうですね。
>
>
> > そのような場合は、同じ項目に対して複数のインデックスがつけてあると思います。
> > EBStudioでは、独自タグの<key>を使っていただくと同じことができます。
> > マニュアルの
> > 「EBStudioでサポートするHTML要素」
> >  →拡張仕様
> >   →<key>…本文に現れないキーワードの付与
> > を参考にしていただけますでしょうか。
> > こんな感じでいけるはずです。
> > <dfn>in/under no circumstances</dfn>
> > <key type="表記">in no circumstances</key>
> > <key type="表記">under no circumstances</key>


- 関連一覧ツリー (▼ をクリックするとツリー全体を一括表示します)