Tôi đang cố gắng phân tích một ngày từ một chuỗi văn bản. Tôi giả sử cách tốt nhất để làm điều này là regex, nhưng tôi đã không hoàn toàn tìm thấy một giải pháp hoạt động.Ngày phân tích theo định dạng Thứ Hai, DD, YYYY bằng cách sử dụng RegEx trong R
Trước tiên, tôi đã sử dụng bộ chọn CSS để lấy ngày từ một trang web.
date <-html_nodes(x=doc, css=".middleheadline+ .topnewsbar b") %>% html_text()
này tạo ra:
[1] "\r\n Washington,\r\n Jan 5, 2011"
tôi muốn trích xuất từ ngày bản thân (ở đây, ngày 05 tháng 1 2011) từ chuỗi này. LƯU Ý: tháng có thể là bất kỳ tháng nào, ngày có thể là bất kỳ ngày nào và năm có thể là bất kỳ điều gì từ 2011-2015, vì vậy tôi đang cố gắng tìm một biểu thức có thể phân tích cú pháp một ngày trong Ngày D [D], Định dạng YYYY.
Dưới đây là một nỗ lực:
date <-str_extract_all(string=date, pattern='[A-Z][a-z]{3,4} ([0-9]{1,2}), [0-9]{4}')
này tạo character(0)
Và khác:
grep("[A-Z][a-z]{3,4} ([0-9]{1,2}), [0-9]{4}", date, value=TRUE)
mà cũng sản xuất character(0)
Bất cứ lời khuyên?
có lẽ 'grep (" \\ w {3,4} \\ d {1,2}, \\ d {4}, ngày, giá trị = TRUE) 'Tôi chưa thử nghiệm điều này. Thẻ w' sẽ khớp với các ký tự alpha, thẻ '\\ d' khớp với các chữ số. – Benjamin
Ngày luôn ở cuối chuỗi hay luôn luôn sau" '\ r \ n" '? –
cuối cùng Tôi đồng ý với ý nghĩa của Joshua chúng ta cần thêm thông tin về ý nghĩa của dữ liệu đầu vào - không chỉ ngày tháng trông như thế nào. Việc chuyển đổi sang một loại ngày thực tế đủ dễ dàng miễn là chúng ta có thể xác định đầu vào. Và nếu nó luôn ở cuối chuỗi đầu vào sau đó làm cho nó * thực sự * dễ dàng – Dason