如何在R语言中匹配含指定字符串的列表元素并输出
R语言字符串匹配提取方案
场景1:处理带转义字符的原始列表
假设你的原始列表名为original_list,可通过grepl函数匹配目标字符串并提取对应元素:
# 定义原始列表 original_list <- list( "Obec:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tDolenice\r\n\t\t\t\t\t\t\t\tDolenice\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t", "Část obce:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tDolenice\r\n\t\t\t\t\t\t\t\tDolenice\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t", "Parcela a katastrální území:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t216/1, k.ú. Dolenice\r\n\t\t\t\t\t\t\t\t216/1, k.ú. Dolenice\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t", "Čísla popisná nebo evidenční:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t", "Typ:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tbudova s číslem popisným\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t", "Způsob využití:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tobjekt k bydlení\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t" ) # 提取包含"Způsob využití:"的元素 target_element <- original_list[grepl("Způsob využití:", original_list)] # 输出结果 print(target_element)
运行后会输出你需要的完整元素,后续可自行处理转义字符。
场景2:处理dput输出的col_names向量
根据你提供的dput(col_names)结果,先还原向量再匹配提取:
# 还原col_names向量 col_names <- c("Obec:DoleniceDolenice", "Cást obce:DoleniceDolenice", "Parcela a katastrální území:216/1, k.ú. Dolenice216/1, k.ú. Dolenice", "Císla popisná nebo evidencní:1", "Typ:budova s císlem popisným", "Zpusob využití:objekt k bydlení", "Datum dokoncení:Druh svislé nosné konstrukce:", "Pocet bytu:0Pripojení na vodovod:", "Zastavená plocha [m2]:Pripojení na kanalizacní sít:", "Obestavený prostor [m3]:Pripojení na rozvod plynu:", "Podlahová plocha [m2]:Zpusob vytápení:") # 匹配提取包含"Zpusob využití:"的元素(注意拼写差异:Zpusob 而非 Způsob) target_col <- col_names[grepl("Zpusob využití:", col_names)] # 输出结果 print(target_col)
关键说明
grepl函数会检查每个字符串是否包含指定模式,返回布尔值向量,以此作为索引提取目标元素。- 第二个场景中目标字符串存在拼写差异(缺少原始的
č),需严格匹配实际存在的字符。
内容的提问来源于stack exchange,提问作者walle_eva
相关产品推荐
相关产品推荐

