Fake City, TX Court House我想返回:Court House这是我从另一个帖子得到的。我用它来提取城市的碎片。
Fake City, TX Court House
Court House
gsub(",.*$", "", COLUMN$Entity)
我的直觉告诉我,“,.*$将不得不改变,但我不知道要改变它。我对正则表达式不熟悉。谢谢你们
5tmbdcev1#
请尝试
# Input string input_string <- 'Fake City, TX Court House' # Use regular expression to extract 'Court House' extracted_text <- gsub('.*\\,\\s\\w+\\s', '', input_string) [1] "Court House"
yzxexxkh2#
x <- c("Fake City, TX Court House", "Fake City, TX") sub(".*\\b[A-Z]{2}\\b\\s?", "", x) # [1] "Court House" ""
R有一个内置的状态缩写字符向量。我们可以使用它来构造一个正则表达式,以拆分州缩写的字符串并获取其后的所有内容。
library(stringr) x <- c("Fake City, TX Court House", "Fake City, OK Court House", "Fake City, PA", "CArlsbad, CA Court House") str_split_i(x, str_c("\\b", state.abb, "\\b\\s", collapse = "|"), 2) # [1] "Court House" "Court House" NA "Court House"
这就是正则表达式的样子(“匹配单词'AL'后跟一个空格 * 或 * 单词'AK'后跟一个空格...”):
str_c("\\b", state.abb, "\\b\\s", collapse = "|") "\\bAL\\b\\s|\\bAK\\b\\s|\\bAZ\\b\\s|\\bAR\\b\\s|\\bCA\\b\\s|\\bCO\\b\\s|\\bCT\\b\\s|\\bDE\\b\\s|\\bFL\\b\\s|\\bGA\\b\\s|\\bHI\\b\\s|\\bID\\b\\s|\\bIL\\b\\s|\\bIN\\b\\s|\\bIA\\b\\s|\\bKS\\b\\s|\\bKY\\b\\s|\\bLA\\b\\s|\\bME\\b\\s|\\bMD\\b\\s|\\bMA\\b\\s|\\bMI\\b\\s|\\bMN\\b\\s|\\bMS\\b\\s|\\bMO\\b\\s|\\bMT\\b\\s|\\bNE\\b\\s|\\bNV\\b\\s|\\bNH\\b\\s|\\bNJ\\b\\s|\\bNM\\b\\s|\\bNY\\b\\s|\\bNC\\b\\s|\\bND\\b\\s|\\bOH\\b\\s|\\bOK\\b\\s|\\bOR\\b\\s|\\bPA\\b\\s|\\bRI\\b\\s|\\bSC\\b\\s|\\bSD\\b\\s|\\bTN\\b\\s|\\bTX\\b\\s|\\bUT\\b\\s|\\bVT\\b\\s|\\bVA\\b\\s|\\bWA\\b\\s|\\bWV\\b\\s|\\bWI\\b\\s|\\bWY\\b\\"
字边界\\b的使用防止状态缩写与字符串的其他部分匹配(例如卡尔斯巴德中的“CA”)。如果TX是你唯一关心的问题,那么这可以简化:
\\b
str_split_i("Fake City, TX Court House", "TX ", 2)
类似的基础R溶液:
sapply(strsplit("Fake City, TX Court House", "TX "), `[`, 2)
uwopmtnx3#
这是怎么回事
text <- "Fake City, TX Court House" # Use regular expression to extract "Court House" result <- sub(".*, TX (.*)", "\\1", text) # Print the result print(result) "Court House"
3条答案
按热度按时间5tmbdcev1#
请尝试
yzxexxkh2#
R有一个内置的状态缩写字符向量。我们可以使用它来构造一个正则表达式,以拆分州缩写的字符串并获取其后的所有内容。
这就是正则表达式的样子(“匹配单词'AL'后跟一个空格 * 或 * 单词'AK'后跟一个空格...”):
字边界
\\b
的使用防止状态缩写与字符串的其他部分匹配(例如卡尔斯巴德中的“CA”)。如果TX是你唯一关心的问题,那么这可以简化:
类似的基础R溶液:
uwopmtnx3#
这是怎么回事