Как насчет этого для начала? Это решение использует str_extract_all
из пакета stringr
:
desiredResult <- data.frame(
DATE = unlist(str_extract_all(reprEx, "\\d{2}/\\d{2}")),
DESCRIPTION = unlist(str_extract_all(reprEx, "(?<=[0-9]{2}/[0-9]{2}\\s)[\\s\\w$]+(?=\\d{1,3},\\d{3}\\.\\d{2})")),
AMOUNT = unlist(str_extract_all(reprEx, "\\d{1,3},\\d{3}\\.\\d{2}"))
)
Вывод:
desiredResult
DATE DESCRIPTION AMOUNT
1 04/01 Quickpay With Zelle Payment To Mike T 8090128100 $ 1,450.00
2 04/01 Quickpay With Zelle Payment To Mandy Dold 8090129906 2,665.00
Если вы хотите избавиться от знака доллара в столбце DESCRIPTION
, вы можно сделать это:
desiredResult <- data.frame(
DATE = unlist(str_extract_all(reprEx, "[0-9]{2}/[0-9]{2}")),
DESCRIPTION = unlist(str_extract_all(reprEx, "(?<=[0-9]{2}/[0-9]{2}\\s)[\\s\\w]+(?=\\d{1,3},\\d{3}\\.\\d{2})|(?<=[0-9]{2}/[0-9]{2}\\s)[\\s\\w]+(?=\\$\\d{1,3},\\d{3}\\.\\d{2})")),
AMOUNT = unlist(str_extract_all(reprEx, "\\d{1,3},\\d{3}\\.\\d{2}"))
)
Вывод:
desiredResult
DATE DESCRIPTION AMOUNT
1 04/01 Quickpay With Zelle Payment To Mike T 8090128100 1,450.00
2 04/01 Quickpay With Zelle Payment To Mandy Dold 8090129906 2,665.00