查找并替换
函数 str_replace() 用于替换字符串中的部分内容。一个常见用法是将某部分替换为空字符串,这是一种移除字符串中不需要部分的简便方法。
结合捕获组,str_replace() 更加灵活:它允许您调整顺序。通过在替换内容中添加所谓的"反向引用",str_replace() 会将这些引用替换为相应捕获组的内容。例如:如果您写 \\1,它会被替换为第 1 个捕获组。
在本练习中,您将同时看到两种用法:其一(移除子串)和其二(重新排列字符串的两个部分)。在作用域中,您可以使用上一个练习得到的变量 top_10_lines。
本练习是课程的一部分
R 中级正则表达式
练习说明
- 将
top_10_lines中每一行末尾的3D替换为空字符串,从而将其移除。 - 使用两个捕获组重新组成一句话。调整顺序,使其结果类似
"Karate Kid is on rank 1"。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Remove a space followed by "3D" at the end of the line
str_replace(
top_10_lines,
pattern = "___",
replacement = ___
)
# Use backreferences 2 and 1 to create a new sentence
str_replace(
top_10_lines,
pattern = "(\\d+)\\. (.*)",
replacement = "___ is at rank ___"
)