我在“euro”变量中保存了一个欧元符号:
euro <- "\u20AC"
euro
#[1] "€"
“eurosearch”变量包含“此SOW中定义的服务,价格为€15,896.80(如果执行”。
eurosearch
[1] "services as defined in this SOW at a price of € 15,896.80 (if executed fro"
我希望欧元符号后的字符为“15,896.80(如果执行后”) 我正在使用此代码:
gsub("^.*[euro]","",eurosearch)
但我得到空洞的结果。如何获得预期的输出?
答案 0 :(得分:4)
使用基础r中的匹配项或tweetTextLabel?.attributedText = attributedString
中的str_extarct
等
stringr
或强>
> x <- "services as defined in this SOW at a price of € 15,896.80 (if executed fro"
> regmatches(x, regexpr("(?<=€ )\\S+", x, perl=T))
[1] "15,896.80"
或强>
使用变量。
> gsub("€ (\\S+)|.", "\\1", x)
[1] "15,896.80"
如果这个使用变量的答案对你不起作用,那么你需要设置编码,
euro <- "\u20AC"
gsub(paste(euro , "(\\S+)|."), "\\1", x)
答案 1 :(得分:1)
您只需使用paste0连接字符串即可在模式中使用变量:
gsub("([^A-Za-z_0-9])", "\\\\\\1", euro)
请注意,使用$
我会转义任何非单词符号,以便{{1}}可以被视为文字,而不是特殊的正则表达式字符(取自this SO post)。