我有一個具有以下值的向量:
list <- c("test_data", "train_data", "random_forest_output", "xgboost_output", "light_gbm_output", "all_output", "all_output_final")
我需要選擇包含所有變數"output"的詞,但在價值的情況下,"all_output"和"all_output_final"我只需要進行選擇"all_output_final"。也就是說,我需要得到一個這樣的串列:
new_list <- c("random_forest_output", "xgboost_output", "light_gbm_output", "all_output_final")
是否可以使用正則運算式來實作?
uj5u.com熱心網友回復:
首先,它會誤導其他用戶呼叫資料物件list一方面list是重要的 R 函式,另一方面您的物件“串列”不是 R 串列。也就是說,grepl通過使用 &!從正則運算式函式回傳的邏輯值可以很容易地做到這一點!通過包含字串的結尾來消除不需要的模式,該模式以正則運算式表示"$"
list[ grepl("output", list)&!grepl("^all_output$",list)]
[1] "random_forest_output" "xgboost_output" "light_gbm_output" "all_output_final"
您可以將該&!(和 NOT)運算式讀作“......所有前面的內容,但沒有以下匹配項”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/377507.html
上一篇:排除某些單詞的快速正則運算式匹配
下一篇:兩個字串之間的正則運算式
