|
Zuoさん今日は、ひろです。
> けっこういい加減で、日付は半角になったり全角のもあったりします。
> 基本的には全角が多いのですが。一桁の日付のときは左側に全角スペース
次のような感じで如何でしょうか?
//---------------------------------------------------------------
main:
call getMonthDay;
message $month+"\t"+$day;
endmacro;
getMonthDay:
gofileend;
call save_search;
searchup "[11]?[1-91-9]月[ 1-31-3]?[1-91-9]日",regular;
$$char=gettext(seltopx,seltopy,selendx,selendy);
##month=strstr($$char,"月");
#day=strstr($$char,"日");
##len=#day-##month;
$month=leftstr($$char,##month);
$day=midstr($$char,##month+2,##len-2);
call toptrim $day;
$day=$$return;
call reset_search;
return;
save_search://*******検索状態を保持
#reg_search=getininum("hidemaru.ini","Env","SelectFound");
if(!#reg_search){
writeininum "hidemaru.ini","Env","SelectFound",1;
envchanged;
}$search=searchbuffer;
#search=searchoption;
return;
reset_search://******検索を初期状態に戻す
if(!#reg_search){
writeininum "hidemaru.ini","Env","SelectFound",#reg_search;
envchanged;
}setsearch $search, #search;
return;
toptrim://文字列の先頭に空白文字が或る場合、空白文字を削除
$$space="\t ";//空白文字を定義
while(1){
##word=strlen($$1);
if(strstr($$space,leftstr($$1,2))!=-1)$$1=rightstr($$1,##word-2);
else if(strstr($$space,rightstr($$1,2))!=-1)$$1=leftstr($$1,##word-2);
//此所まで全角文字の対処
else if(strstr($$space,leftstr($$1,1))!=-1)$$1=rightstr($$1,##word-1);
else if(strstr($$space,rightstr($$1,1))!=-1)$$1=leftstr($$1,##word-1);
else break;
}return $$1;
//------------------------------------------------------------------------
subroutine getMonthDay を使うと、$month に月が、$day に日付が入ります。
|
|