1

我正在研究 R 中的实体提取。我有一个UniqueIDandText字段 - 需要从文本字段中提取位置信息。我的文本字段有带有位置名称的描述

text <- c("SERANGOON JC","Blk 4","SHELL TAMPINES AVE  4","SENOKO INDUSTRIAL ESTATE","Senoko Estate","Senoko","senok Est.") 

我有一个位置列表;

Loc <- c("SERANGOON JUNIOR COLLEGE","Block 4","SHELL TAMPINES AVENUE 4","SENOKO INDUSTRIAL ESTATE")

需要匹配loc并从字段中提取这些位置text。在文本字段SENOKO INDUSTRIAL ESTATE中以不同方式拼写Senoko EstateSenoko(半名)或拼写错误senok Est.。对于上述所有拼写错误和半拼写的单词 - 我需要得到确切的名称从loc即。SENOKO INDUSTRIAL ESTATE.

我的输出看起来像:(从文本字段中提取位置 - 为半拼和拼写错误的单词获取正确的单词)

ID   Location
123  SERANGOON JUNIOR COLLEGE|Block 4|SHELL TAMPINES AVENUE 4|SENOKO INDUSTRIAL ESTATE|SENOKO INDUSTRIAL ESTATE|SENOKO INDUSTRIAL ESTATE|SENOKO INDUSTRIAL ESTATE
4

1 回答 1

1

我不认为这是回答它的最漂亮的方式,但是..

text <- c("SERANGOON JC","Blk 4","SHELL TAMPINES AVE  4","SENOKO INDUSTRIAL ESTATE","Senoko Estate","Senoko","senok Est.") 

Loc <- c("SERANGOON JUNIOR COLLEGE","Block 4","SHELL TAMPINES AVENUE 4","SENOKO INDUSTRIAL ESTATE")

text <- gsub(".*serang.*", "SERANGOON JUNIOR COLLEGE", text, ignore.case=TRUE)
text <- gsub(".*bl.* 4.*", "Block 4", text, ignore.case=TRUE)
text <- gsub(".*shell.*", "SHELL TAMPINES AVENUE 4", text, ignore.case=TRUE)
text <- gsub(".*senok.*", "SENOKO INDUSTRIAL ESTATE", text, ignore.case=TRUE)


print(text)

我没有完全按照您要求的格式将其放入,但这将是第二列(又名位置)的内容。我在您要查找的字符串之前和之后使用了正则表达式“.*”,以防有其他可能性/错别字。这将使它更加健壮。

希望这可以帮助!

于 2014-05-27T04:08:50.393 回答