Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 替换子字符串_R_Regex - Fatal编程技术网

R 替换子字符串

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"

希望作为一个偶尔的分析员得到一些指导,并且不能真正理解如何使用前面的数值管理表达式

下面是我的数据,我希望将“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"    "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"