R语言从字符串中提取数字范围:快速创建新列
R语言从字符串中提取数字范围:快速创建新列
想要从类似 '4C10-14' 的字符串中提取 '10-14' 并创建新列?可以使用字符串处理函数和正则表达式来实现。
示例代码
# 假设你的数据框名为data,包含一个名为'format'的列
# 使用字符串处理函数和正则表达式提取 '10-14' 并创建新的列 'new_column'
data$new_column <- sub('.*([0-9]+-[0-9]+)', '\1', data$format)
代码解释
data$format:引用数据框data中的 'format' 列。sub('.*([0-9]+-[0-9]+)', '\1', data$format): 使用sub函数进行字符串替换。'.*([0-9]+-[0-9]+)': 正则表达式,匹配任何字符(.*)直到遇到一个或多个数字([0-9]+),然后是连字符(-),再跟一个或多个数字([0-9]+)。括号()将匹配的数字范围作为捕获组。'\1': 将捕获组([0-9]+-[0-9]+)替换为\1,即提取的数字范围。
data$new_column <- ...: 将提取结果赋值给新的列 'new_column'。
注意
请确保将 data 和 format 替换为你实际使用的数据框和列名。
希望这篇文章能帮助你快速解决R语言字符串提取问题。
原文地址: https://www.cveoy.top/t/topic/oRE 著作权归作者所有。请勿转载和采集!