trimについてNo.01631
きき さん 98/09/07 12:11
 
 ききともうします。
 現在、マクロを少々作成していますが、教えて下さい。
 データの一部を文字列として取り込んだ後、前後にスペースが有った場合、削除し
たいのですが、どうすれば良いでしょうか。エクセルなどではtrimというコマン
ドがあって削除できるようなのですが秀丸ではあるのでしょうか。
例.データを10カラム文字列として取り込む
__TTTT____ −> TTTT
_ABCDEFGHI    −> ABCDEFGHI

どこかに同じような事が書いてあったら教えて下さい。

[ ]
RE:01631 trimについてNo.01642
杉浦 まさき さん 98/09/08 01:21
 
ききさん、はじめまして。
 杉浦 まさき と申します。

> データの一部を文字列として取り込んだ後、前後にスペースが有った場合、削除し
>たいのですが、どうすれば良いでしょうか。エクセルなどではtrimというコマン
>ドがあって削除できるようなのですが秀丸ではあるのでしょうか。

えっと、わざわざマクロを書かなくても、
 普通の置換で以下の様に設定して置換をすればよいです。

 検索文字列: "^ +| +$"
 置換文字列: ""
 オプション: 「正規表現」にチェック

 ※〜文字列の最初と最後の引用符は実際には書かないで下さい。

で、これと同じことをマクロでやると以下の様になります。

//----------------------------------//
gofiletop;
replaceallfast "^ +| +$", "", regular;
endmacro;
//----------------------------------//

ではでは。


[ ]
RE:01642 trimについてNo.01651
きき さん 98/09/08 19:40
 

> 杉浦 まさき と申します。
どうぞ宜しくお願いします。

>えっと、わざわざマクロを書かなくても、
> 普通の置換で以下の様に設定して置換をすればよいです。
gettextで文字列を取得し、文字の両端の空白を削ってからinsertで書
き込みがしたいのです。
すみません。言葉足らずでした。

[ ]
RE:01631 trimについてNo.01654
ひろ さん 98/09/08 22:02
 
 ききさん今日は、ひろです。
>  現在、マクロを少々作成していますが、教えて下さい。
 まず、macro の作成関係は、4 番会議室の方がより多くの情報が得られると思いま
す。何故なら、彼処には macro の猛者が多くいるからです(^^)。
>  データの一部を文字列として取り込んだ後、前後にスペースが有った場合、削除し
> たいのですが、どうすれば良いでしょうか。エクセルなどではtrimというコマン
 前後の空白を除去する関数はありませんが、幾つかの関数を組み合わせれば、可能
です。
 下に示した、関数を、
call trim,$word;
$word=$$return;
の要領で使い下さい。
//------------------- sample function ------------------------------------
trim:
  $$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;
//------------------- end function ---------------------------------------
 解らない関数は、秀丸の macro help を見てください。(解らない関数に
cursor を合わせてから、「マクロヘルプ」を選ぶと、該当 page を開きま
す。)

[ ]
RE:01654 trimについてNo.01679
きき さん 98/09/10 16:02
 
> まず、macro の作成関係は、4 番会議室の方がより多くの情報が得られると思いま
>す。何故なら、彼処には macro の猛者が多くいるからです(^^)。
すみません。そもそも場所を間違えていたみたいです。
> 下に示した、関数を、
>  〜略〜
>の要領で使い下さい。
すみませんでした。少しゆっくりと読んでみます。
> 解らない関数は、秀丸の macro help を見てください。(解らない関数に
>cursor を合わせてから、「マクロヘルプ」を選ぶと、該当 page を開きま
>す。)
はい。本当にありがとうございました。これからも宜しくお願いします。

[ ]
RE:01679 trimについてNo.01686
ひろ さん 98/09/11 23:08
 
 ききさん今日は、ひろです。
> >す。何故なら、彼処には macro の猛者が多くいるからです(^^)。
> すみません。そもそも場所を間違えていたみたいです。
 いえ別に間違えている訳ではないと思います。ただ「macro 関係の発言は
長くなる傾向があるので、4 番の方が良いかな?」と思っただけでので気にし
ないで下さい。
> はい。本当にありがとうございました。これからも宜しくお願いします。
 4 番へのご来訪をお待ちしています(^^)。
>

[ ]