【发布时间】:2021-06-29 03:47:23
【问题描述】:
标题可能令人困惑,所以请允许我详细说明一下,假设我已经初始化了以下字符串
some_string_1 <- "Charges: $400.50 applied to account 1, $300.70 applied to account 2, $120.30 applied to account 3"
some_string_2 <- "Charges: $500.50 applied to account 2, $200.10 applied to account 3, $150.90 applied to account 1"
假设我只关注账户 1,所以我想提取与账户 1 的费用相关的美元符号之后的数字。我想知道如何使用正则表达式和 str_extract 等函数,我可以获得以下信息输出:
假设我打电话给str_extract(some_string_1, regexp),我想给它
[1] "400.50"
假设我打电话给str_extract(some_string_2, regexp),我希望它给
[1] "150.90"
如您所见,帐户 1 的费用在两个字符串中的不同位置(它是字符串 1 中列出的第一个费用,但字符串 2 中列出的第三个费用),因此正则表达式必须考虑到这一点。
到目前为止,我所拥有的只有以下内容:regexp <- "(?<=\\$)\\d+(?=.)",它成功地给了我出现在字符串中的第一个美元符号之后的数字(没有小数位的数字),但我不知道如何指定我只想要与帐户 1 上应用的费用相关联的美元符号后面的数字。在这方面寻求帮助。
【问题讨论】: