Sas で findw 関数を使用する方法


SAS のFINDW関数を使用すると、文字列内に出現する単語の最初の文字の位置を返すことができます。

この関数は次の基本構文を使用します。

FINDW(文字列, 単語)

金:

  • string : 解析する文字列
  • word :文字列内で検索する単語

次の例は、この関数を実際に使用する方法を示しています。

例: SAS での FINDW 関数の使用

SAS に式の列を含む次のデータセットがあるとします。

 /*create dataset*/
data original_data;
    input sentence $40. ;
    datalines ;
A pig is my favorite animal
My name is piglet
Pigs are so cute
Here is a baby pig
His name is piggy
;
run ;

/*view dataset*/
proc print data = original_data; 

FINDW関数を使用して、文列内で単語「pig」が最初に出現する位置を見つけることができます。

 /*find position of first occurrence of 'pig' in phrase column*/
data new_data;
    set original_data;
    findw_pig = findw (phrase, 'pig');
run ;

/*view results*/
proc print data = new_data;

findw_pigという新しい列には、列内で最初に出現した単語「pig」の位置が表示されます。

単語 “pig” が列に出現しない場合、 FINDW関数は単に値0を返します。

たとえば、結果から次のことがわかります。

最初の文で単語「pig」が最初に出現する位置は3です。

2 行目は文中に「pig」という単語だけが含まれていないため、値0が返されます。

等々。

FIND 関数と FINDW 関数の違い

SAS のFIND関数は、別の文字列内で特定の部分文字列が最初に出現する位置を返します。

対照的に、 FINDW関数は、別の文字列内で特定の単語が最初に出現する位置を返します。

定義上、単語の前後にはスペースが必要です。

次の例は、 FIND関数とFINDW関数の違いを示しています。

 /*create new dataset*/
data new_data;
    set original_data;
    find_pig = find (phrase, 'pig');
    findw_pig = findw (phrase, 'pig');
run ;

/*view new dataset*/
proc print data = new_data; 

SAS の FIND および FINDW 関数

find_pig列には、 phrase列内で部分文字列「pig」が最初に出現した位置が表示されます。

findw_pig列には、列内で最初に出現した単語「pig」の位置が表示されます。

追加リソース

次のチュートリアルでは、SAS の他の一般的な関数の使用方法について説明します。

SAS で FIND 関数を使用する方法
SAS で FINDC 関数を使用する方法
SAS で SUBSTR 関数を使用する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です