删除R中字符串的中间部分
如何去除刺的中间部分? 例如,以字符串“2018_002.Feb”为例。 对于这个例子,我想删除'002',这样我就得到'2018年2月'删除R中字符串的中间部分,r,regex,string,substring,R,Regex,String,Substring,如何去除刺的中间部分? 例如,以字符串“2018_002.Feb”为例。 对于这个例子,我想删除'002',这样我就得到'2018年2月' 有人能帮我吗?谢谢 我喜欢使用stringr包,而不是用于字符串操作的基本r包,因为我发现函数的语法更加一致 library(stringr) var = "2018_002.Feb" str_replace(var, pattern = "_\\d+\\.", replacement = "_") # [1] "2018_Feb" 使用str_re
有人能帮我吗?谢谢 我喜欢使用
stringr
包,而不是用于字符串操作的基本r包,因为我发现函数的语法更加一致
library(stringr)
var = "2018_002.Feb"
str_replace(var, pattern = "_\\d+\\.", replacement = "_")
# [1] "2018_Feb"
使用str_replace()
基本上是在字符串中搜索一个模式,并用其他内容替换它。通常,替换内容只是一个空的“”
,但在这种情况下,在函数查找
字符的位置开始搜索会更容易,因为它是非常唯一的。从这里开始,您希望匹配到该期间之后的所有数字
我建议学习一下正则表达式。R中的基本正则表达式是一个很好的资源
此问题的正则表达式如下所示:
- 首先查找后跟数字的
字符,并保持匹配 数字\\d
,直到到达句点+
\\.
- 找到匹配项“
”后,将其替换为“\u002.
”\u002.
希望这是可以理解的 我喜欢使用
stringr
包,而不是用于字符串操作的基本r包,因为我发现函数的语法更加一致
library(stringr)
var = "2018_002.Feb"
str_replace(var, pattern = "_\\d+\\.", replacement = "_")
# [1] "2018_Feb"
使用str_replace()
基本上是在字符串中搜索一个模式,并用其他内容替换它。通常,替换内容只是一个空的“”
,但在这种情况下,在函数查找
字符的位置开始搜索会更容易,因为它是非常唯一的。从这里开始,您希望匹配到该期间之后的所有数字
我建议学习一下正则表达式。R中的基本正则表达式是一个很好的资源
此问题的正则表达式如下所示:
- 首先查找后跟数字的
字符,并保持匹配 数字\\d
,直到到达句点+
\\.
- 找到匹配项“
”后,将其替换为“\u002.
”\u002.
希望这是可以理解的 尝试使用
sub(“\\d+\\”,“”,str1)#[1]“2018\u Feb”
或转换为date类格式(as.date(str1,“%Y\u 0%d.%b”),“%Y\u%b”)
相关:这两个命令都工作得很好。谢谢你能解释一下这些命令是如何工作的吗?试着使用sub(“\\d+\\”,“”,str1)\[1]“2018\u Feb”
或转换为date类格式(as.date(str1,“%Y\u 0%d.%b”),“%Y\u%b”)
相关:这两个命令工作得非常好。谢谢你能给我解释一下这些命令是如何工作的吗?谢谢!这就解决了问题,我完全理解了。谢谢!这就解决了问题,我完全理解了。