如何在 r 中提取具有可变间距的文本之前的数字?
How do I extract the number before a text with variable spacing in r?
我想捕获所有后面带有 G 的数字(我只想要数字)。我试过以下方法,但它不会给我后面跟着 G 的那个。
a="1.1G;1.2 G;1.435 G;1.1 G;1.5555G"
stringr::str_extract_all(a, "(?<!\d)\d+\.*\d*(?=\s*G)\b")
所以我想要从上面提取的所有数字,因为所有数字后面都有G(数字和字母G之间是否有空格无关紧要)
所以我希望摘录具有:
1.1, 1.2,1.435,1.1,1.5555
您可以省略负向回顾,因为匹配已经从第一个数字开始,并且匹配带有可选小数部分的数字,断言右边的是 G,允许可选的空白字符。
\d+(?:\.\d+)?(?=\s*G)
a="1.1G;1.2 G;1.435 G;1.1 G;1.5555G"
stringr::str_extract_all(a, "\d+(?:\.\d+)?(?=\s*G\b)")
输出
[[1]]
[1] "1.1" "1.2" "1.435" "1.1" "1.5555"
我想捕获所有后面带有 G 的数字(我只想要数字)。我试过以下方法,但它不会给我后面跟着 G 的那个。
a="1.1G;1.2 G;1.435 G;1.1 G;1.5555G"
stringr::str_extract_all(a, "(?<!\d)\d+\.*\d*(?=\s*G)\b")
所以我想要从上面提取的所有数字,因为所有数字后面都有G(数字和字母G之间是否有空格无关紧要)
所以我希望摘录具有:
1.1, 1.2,1.435,1.1,1.5555
您可以省略负向回顾,因为匹配已经从第一个数字开始,并且匹配带有可选小数部分的数字,断言右边的是 G,允许可选的空白字符。
\d+(?:\.\d+)?(?=\s*G)
a="1.1G;1.2 G;1.435 G;1.1 G;1.5555G"
stringr::str_extract_all(a, "\d+(?:\.\d+)?(?=\s*G\b)")
输出
[[1]]
[1] "1.1" "1.2" "1.435" "1.1" "1.5555"