SAS支持<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好
Re:用於從excel中提取特定關鍵字的Regex腳本應該是eval(parse()),而不是解析(eval())。 更正後的代碼:
teb_text = “” ;
DT = 當前數據表 () ;
column_name_list中 = DT << 獲取列名稱 ( 串 ) ;
NW = 新窗戶 ( “查找行和子集” ,
<< 語氣 () ,
面板盒 ( “選擇要搜索的列” ,
LB1 = 列錶框 (
column_name_list中 ,
最大選擇 ( 1 ) ,
col_to_search_list = LB1 << 被選中 ;
col_to_search = col_to_search_list [ 1 ] ;
) ,
) ,
面板盒 ( “輸入要搜索的文字” , TEB = 文字編輯框 ( teb_text ) ) ,
面板盒 ( “操作” ,
H列錶框 (
按鈕框 ( “好” ,
ok_button = 1 ;
teb_text = TEB << 得到文字 ;
) ,
按鈕框 ( “取消” , ok_button = 0 ) ,
)
)
) ;
如果 ( ok_button ,
match_expr = 評估插入 (
“\ [match_rows = dt <<獲取行所在(包含(大寫(:^ ^ col_to_search ^),大寫(”^ teb_text ^“)))] \”
) ;
EVAL ( 解析 ( match_expr ) ) ;
newdt = DT << 子集 ( 行 ( match_rows ) ) ;
) ;
Re:用於從excel中提取特定關鍵字的Regex腳本請參閱上面的更正程序
Re:用於從excel中提取特定關鍵字的Regex腳本這樣做:
teb_text = “” ;
DT = 當前數據表 () ;
column_name_list中 = DT << 獲取列名稱 ( 串 ) ;
NW = 新窗戶 ( “查找行和子集” , << 語氣 () ,
panelbox ( “選擇要搜索的列” ,
LB1 = 列錶框 ( column_name_list中 ,最大選擇 ( 1 ) ,
col_to_search_list = LB1 << 被選中 ;
col_to_search = col_to_search_list [ 1 ] ;
) ,
) ,
panelbox ( “輸入要搜索的文字” ,
TEB = 文本編輯框 ( teb_text )
) ,
panelbox ( “操作” ,
hlistbox (
buttonbox ( “好” , ok_button = 1 ;
teb_text = TEB << 得到文字 ;
) ,
buttonbox ( “取消” , ok_button = 0 ) ,
)
)
) ;
如果 ( ok_button ,
match_expr = evalinsert (
“\ [match_rows = dt <<獲取行所在的位置(包含(大寫(:^ ^ col_to_search ^),大寫(teb_text)))] \” ) ;
解析 ( EVAL ( match_expr )) ;
newdt = DT << 子集 ( 行 ( match_rows )) ;
) ;
Re:用於從excel中提取特定關鍵字的Regex腳本你可以忽略我帖子的New Table部分 - 這只是為了創建一個虛擬數據表。 專注於最後3行。 您需要將我使用的列名更改為電子表格中的列名。
您需要通過Excel閱讀Excel電子表格文件>打開 。 然後運行我的小程序的最後3行,為你的表修改列名。
Re:用於從excel中提取特定關鍵字的Regex腳本這應該在JSL中做你想做的事:
新表 ( “鳥類” ,
添加行 ( 五 ) ,
新欄目 ( “第1欄” ,
字符 ,
公稱 ,
設定值 (
{ “憤怒的小鳥” , “可愛的貓” , “壞狗” , “快樂鳥” , “UPPERCASE BIRD” }
)
) ,
新欄目 ( “第2欄” ,
數字 ,
連續 ,
格式 ( “最好” , 12 ) ,
設定值 ( [ 1 , 2 , 3 , 4 ,五 ] )
) ,
設置行狀態 ( [ 1 , 0 , 0 , 0 , 0 ] )
) ;
DT = 數據表 ( “鳥類” ) ;
match_rows = DT << 得到行在哪裡 ( 包含 ( 大寫 ( : 第1欄 ) , “鳥” )) ;
newdt = DT << 子集 ( 列 ( 第1欄 ,第2欄 ) ,行 ( match_rows )) ;
Re:用於從excel中提取特定關鍵字的Regex腳本但是如果你想使用正則表達式,這裡有一個例子:
數據測試;
長度txt $ 64;
輸入txt&;
datalines;
鳥
BIRD一開始
小鳥
不是鳥
必須是BigBird
只是一個測試
;
data _null_;
設定測試;
mt = prxmatch(“/ \ bbird \ b / i”,txt);
把mt txt;
跑;
正則表達式轉換為:\ b:單詞邊界,bird:要搜索的關鍵字,\ b:另一個單詞邊界,i:使匹配大小寫不敏感。
PG
Re:用於從excel中提取特定關鍵字的Regex腳本你不需要Regex的複雜性,SAS功能FINDW就足夠了。
您可能根本不需要SAS來執行此操作。您可以在Excel中使用formula = ISERROR(FIND(“BIRD”,UPCASE(A1)))創建一個列並過濾值(保持FALSE),複製並粘貼結果行。
PG