SASサポート<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは皆さん
エクセルから特定のキーワードを抽出するためのRe:Regexスクリプトparse(eval())ではなく、eval(parse())であるべきです。 以下のコードを修正しました:
teb_text = 「」 ;
dt = 現在のデータ表 () ;
column_name_list = dt << 列名を取得する ( ひも ) ;
nw = 新しい窓 ( 「行とサブセットの検索」 、
<< モーダル () 、
パネルボックス ( 「検索する列を選択」 、
ポンド1 = リストボックス (
column_name_list 、
最大選択 ( 1 ) 、
col_to_search_list = ポンド1 << 選択される ;
col_to_search = col_to_search_list [ 1 ] ;
) 、
) 、
パネルボックス ( 「検索するテキストを入力してください」 、テブ = テキスト編集ボックス ( teb_text ) ) 、
パネルボックス ( "行動" 、
Hリストボックス (
ボタンボックス ( "OK" 、
ok_button = 1 ;
teb_text = テブ << テキストを取得 ;
) 、
ボタンボックス ( "キャンセル" 、 ok_button = 0 ) 、
)
)
) ;
もし ( ok_button 、
match_expr = 評価挿入 (
"\ [match_rows = dt <<ここで、((((^ ^ col_to_search ^)、大文字(" ^ teb_text ^ ")))を含む行を取得します。)\"
) ;
評価 ( 解析する ( match_expr ) ) ;
newdt = dt << サブセット ( 行 ( match_rows ) ) ;
) ;
エクセルから特定のキーワードを抽出するためのRe:Regexスクリプト上記の修正プログラムを参照してください。
エクセルから特定のキーワードを抽出するためのRe:Regexスクリプトこれはそれを行います:
teb_text = 「」 ;
dt = 現在のデータテーブル () ;
column_name_list = dt << 列名を取得する ( ひも ) ;
nw = 新しい窓 ( 「行とサブセットの検索」 、 << モーダル () 、
パネルボックス ( 「検索する列を選択」 、
ポンド1 = リストボックス ( column_name_list 、最大選択 ( 1 ) 、
col_to_search_list = ポンド1 << 選択される ;
col_to_search = col_to_search_list [ 1 ] ;
) 、
) 、
パネルボックス ( 「検索するテキストを入力してください」 、
テブ = テキスト編集ボックス ( teb_text )
) 、
パネルボックス ( "行動" 、
hlistbox (
ボタンボックス ( "OK" 、 ok_button = 1 ;
teb_text = テブ << テキストを取得 ;
) 、
ボタンボックス ( "キャンセル" 、 ok_button = 0 ) 、
)
)
) ;
もし ( ok_button 、
match_expr = evalinsert (
"\ [match_rows = dt <<ここで、((大文字(:^ col_to_search ^)、大文字(teb_text)))を含む行を取得します)\" ) ;
解析する ( 評価する ( match_expr )) ;
newdt = dt << サブセット ( 行 ( match_rows )) ;
) ;
エクセルから特定のキーワードを抽出するためのRe:Regexスクリプトあなたは私の投稿のNew Table部分を無視することができます - それは単にダミーデータのテーブルを作成することです。 最後の3行に注目してください。 スプレッドシートで使用していた列名を変更する必要があります。
次の方法でExcelスプレッドシートを読む必要があります。ファイル>開く 。 それから私の小さなプログラムの最後の3行を実行し、あなたのテーブル用にカラム名を変更します。
エクセルから特定のキーワードを抽出するためのRe:RegexスクリプトこれはJSLであなたが望むことをするはずです:
新しいテーブル ( 「鳥」 、
行を追加 ( 5 ) 、
新しいコラム ( 「コラム1」 、
キャラクター 、
公称 、
設定値 (
{ "アングリーバード" 、 "可愛い猫" 、 "悪い犬" 、 「ハッピーバード」 、 「大文字の鳥」 }
)
) 、
新しいコラム ( 「コラム2」 、
数値 、
連続的 、
フォーマット ( "ベスト" 、 12年 ) 、
設定値 ( [ 1 、 2 、 3 、 4 、 5 ] )
) 、
行の状態を設定 ( [ 1 、 0 、 0 、 0 、 0 ] )
) ;
dt = データ表 ( 「鳥」 ) ;
match_rows = dt << 行を取得する ( 含む ( 大文字 ( : コラム1 ) 、 "鳥" )) ;
newdt = dt << サブセット ( コラム ( コラム1 、コラム2 ) 、行 ( match_rows )) ;
エクセルから特定のキーワードを抽出するためのRe:Regexスクリプトしかし、もしあなたが正規表現を使いたいのであれば、これは実例です:
データテスト
長さtxt $ 64。
txtを入力してください;
データライン
鳥
初めにバード
バーディー
鳥じゃない
BigBirdである必要があります
ただのテスト
;
データ_null_;
テストを設定します。
mt = prxmatch( "/ \ bbird \ b / i"、txt);
mt txtを入力してください。
走る。
正規表現は、次のように変換されます。\ b:単語の境界、bird:検索するキーワード、\ b:他の単語の境界、i:一致の大文字と小文字を区別しません。
PG
エクセルから特定のキーワードを抽出するためのRe:RegexスクリプトRegexの複雑さは必要ありません。SAS関数FINDWで十分です。
これをするのにSASを全く必要としないかもしれません。Excelでformula = ISERROR(FIND( "BIRD"、UPCASE(A1)))を使用して列を作成し、値をフィルタして(FALSEを維持)、結果の行をコピーして貼り付けることができます。
PG