我正在研究R中的实体提取,我有一个UniqueID和Text字段--需要从文本字段中提取位置信息。我的文本字段有带有位置名称的描述。
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 field.In中提取出这些位置,文本字段SENOKO INDUSTRIAL ESTATE以不同的方式拼写Senoko Estate或Senoko (半名),或者拼写错误的senok Est. .for --所有这些都是拼写错误和拼写错误--我需要从loc ie那里得到确切的名称。SENOKO INDUSTRIAL ESTATE。
我的输出应该是这样的:(从文本字段提取位置,-get正确的单词,用于拼写错误和拼写错误的单词)
ID Location
123 SERANGOON JUNIOR COLLEGE|Block 4|SHELL TAMPINES AVENUE 4|SENOKO INDUSTRIAL ESTATE|SENOKO INDUSTRIAL ESTATE|SENOKO INDUSTRIAL ESTATE|SENOKO INDUSTRIAL ESTATE发布于 2014-05-27 04:08:50
我不认为这是最漂亮的回答方式,但是..。
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)我并没有把它放在您所要求的格式上,但这将是第二列(也就是位置)的内容。在您查找的字符串之前和之后,我使用了regex表达式".*“,以防出现其他可能性/排字。这将使它更加强大。
希望这能有所帮助!
https://stackoverflow.com/questions/23633512
复制相似问题