tôi có một danh sách ngày sinh nhật mà giống như thế này:Sử dụng gsub để trích xuất chuỗi ký tự trước khoảng trắng trong R
dob <- c("9/9/43 12:00 AM/PM", "9/17/88 12:00 AM/PM", "11/21/48 12:00 AM/PM")
Tôi muốn chỉ cần lấy ngày lịch kể từ biến này (tức là thả tất cả mọi thứ sau lần xuất hiện đầu tiên của không gian trắng).
Dưới đây là những gì tôi đã cố gắng cho đến nay:
dob.abridged <- substring(dob,1,8)
dob
[1] "9/9/43 1" "9/17/88 " "11/21/48"
dob.abridged <- gsub(" $","", dob.abridged, perl=T)
> dob.abridged
[1] "9/9/43 1" "9/17/88" "11/21/48"
Vì vậy, mã của tôi làm việc cho những ngày lịch có độ dài 6 hoặc 7, nhưng không dài 8. Bất kỳ gợi ý về một regex hiệu quả hơn để sử dụng với gsub rằng có thể xử lý các ngày theo lịch có độ dài 6, 7 hoặc 8?
Cảm ơn bạn.
Lời khuyên duy nhất tôi có thể chia sẻ ở đây là một 'phụ' là đủ vì chỉ có một vị trí kết thúc chuỗi. –