从字符串中提取多个数字并用包含 r 中数字的新字符串替换整个字符串
extract multiple numbers from a string and replace the whole string with a new string containing the numbers in r
我有如下字符串:
s = 'regimen A1 Cycle 3 Day 5 treatment B1 '
我需要做的是将整个字符串替换为 C3D5
(周期 3,第 5 天)。我想知道如何使用正则表达式来做到这一点?
我试过了:
str_replace(s, '.*Cycle\s+(\d+)Day\s+(\d+).*', 'C\1D\2' )
我得到的是原始字符串。谁能告诉我我做错了什么?有什么优雅的方法吗?
您的正则表达式已关闭 - 您在第一个数字和 Day
之间遗漏了一个 space,在这种情况下模式不匹配,因此不会进行替换。尝试:
str_replace(s, '.*Cycle\s+(\d+)\s+Day\s+(\d+).*', 'C\1D\2' )
# ^^^^
# [1] "C3D5"
我有如下字符串:
s = 'regimen A1 Cycle 3 Day 5 treatment B1 '
我需要做的是将整个字符串替换为 C3D5
(周期 3,第 5 天)。我想知道如何使用正则表达式来做到这一点?
我试过了:
str_replace(s, '.*Cycle\s+(\d+)Day\s+(\d+).*', 'C\1D\2' )
我得到的是原始字符串。谁能告诉我我做错了什么?有什么优雅的方法吗?
您的正则表达式已关闭 - 您在第一个数字和 Day
之间遗漏了一个 space,在这种情况下模式不匹配,因此不会进行替换。尝试:
str_replace(s, '.*Cycle\s+(\d+)\s+Day\s+(\d+).*', 'C\1D\2' )
# ^^^^
# [1] "C3D5"