我有这样的字符串:
71,72,80,81,102,100
Run Code Online (Sandbox Code Playgroud)
我想分隔每 2 个“数字”,所以:
71,72
80,81
102,100
Run Code Online (Sandbox Code Playgroud)
我写了这个正则表达式:
(([0-9]{1,4}),([0-9]{1,4}))
Run Code Online (Sandbox Code Playgroud)
其中突出显示了我需要的组,除了“,”之间的逗号
在我的代码中我使用 dplyr
例子:
df_example <- tibble(Lotes= "LOT1,LOT2,LOT3",NoModuloPlastico = "71,72,80,81,102,100")
df_result_example <- df_example %>%
separate_rows(c(Lotes),sep=",") %>%
separate_rows(c(NoModuloPlastico),sep="(([0-9]{1,3}),([0-9]{1,3}))")
Run Code Online (Sandbox Code Playgroud)
这意味着我真正需要的是用正则表达式突出显示每 2 个逗号,但我找不到方法。
我无法根据我的需要调整这些链接:
https://bedigit.com/blog/regex-how-to-match-everything-except-a-particular-pattern/
https://blog.codinghorror.com/ exclude-matches-with-regular-expressions/
我得到的:
| 洛特 | 无模塑料 |
|---|---|
| 批次 1 | “” |
| 批次 1 | “,” |
| 批次 1 | “,” |
| 批次 1 | “” |
| 批次2 | “” |
| 批次2 | “,” |
| 批次2 | “,” |
| 批次2 | “” |
| LOT3 | “” |
| LOT3 | “,” |
| LOT3 | “,” |
| LOT3 | “” |
我想要的是:
| 洛特 | 无模塑料 |
|---|---|
| 批次 1 | 71,72 |
| 批次2 | 80,81 |
| LOT3 | 102,100 |