R 替换子字符串
希望作为一个偶尔的分析员得到一些指导,并且不能真正理解如何使用前面的数值管理表达式 下面是我的数据,我希望将“4D”和“5D”类型的数据转换为“4门”和“5门”R 替换子字符串,r,regex,R,Regex,希望作为一个偶尔的分析员得到一些指导,并且不能真正理解如何使用前面的数值管理表达式 下面是我的数据,我希望将“4D”和“5D”类型的数据转换为“4门”和“5门” a我们可以在这里使用gsub()搜索模式: \\b(\\d+)D\\b 并将其替换为: \\1 Door 代码: a <- c("4D Sedan", "5D Wagon", "AB4D car 5D") > gsub("\\b(\\d+)D\\b", "\\1 Door", a) [1] "4 Door Sedan"
a我们可以在这里使用gsub()
搜索模式:
\\b(\\d+)D\\b
并将其替换为:
\\1 Door
代码:
a <- c("4D Sedan", "5D Wagon", "AB4D car 5D")
> gsub("\\b(\\d+)D\\b", "\\1 Door", a)
[1] "4 Door Sedan" "5 Door Wagon" "AB4D car 5 Door"
a gsub(\\b(\\d+d\\b),“\\1门”,a)
[1] “四门轿车”“五门货车”“AB4D轿车五门”
请注意,在上述示例中,AB4D汽车5D
中的4D
没有被更换,我们也不希望发生这种情况。通过在\\b(\\d+d\\b
中使用单词边界,我们可以避免不必要的替换发生。谢谢,为了让我能完全理解,在替换“\\1门”中,“1”代表任何数值吗?不,\\1
是第一个捕获组,这是我们用于搜索的模式中括号中的数量,即(\\d+)
。换句话说,它是D
前面的数字,假设我们匹配了该模式。
a <- c("4D Sedan", "5D Wagon", "AB4D car 5D")
> gsub("\\b(\\d+)D\\b", "\\1 Door", a)
[1] "4 Door Sedan" "5 Door Wagon" "AB4D car 5 Door"