sách gpt4 ai đã đi

Biểu thức chính quy để trích xuất dấu thời gian ngày tháng đầu tiên khi có nhiều dấu thời gian tồn tại

In lại 作者:行者123 更新时间:2023-12-01 13:32:50 39 4
mua khóa gpt4 Nike

给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本

  • 候选字符串可以有一个或多个时间戳
  • 后续的 date_time 戳记将被 sep="-"
  • 隔开
  • 后续date_time 戳之间可能有也可能没有文本,但肯定会有sep

  • 日期时间格式:
  • 每个单独的邮票可能包含也可能不包含时间(即仅日期)
  • 如果邮票有时间,格式将是 _HHMM hoặc _HHMMSS
  • 日期将始终采用 YYYYMMDD
  • 格式

    library(stringr)  

    string <- "TEXT_etc_20140530-20140825_1635-"
    expected <- "TEXT_etc_20140530"

    ## using this pattern for the date_time stamp
    ## 8 digits, optional underscore with 4to6 digits, appearing exactly once, followed by "-"
    . (\\d{8}(_\\d{4,6})?){1}- # I am not concerned with potential of a 5-digit time stamp

    ## Attempts
    pat1 <- "(TEXT)(.*?)(\\d{8}(_\\d{4,6})?){1}-"; str_extract(string, pat=pat1)
    pat2 <- "(\\d{8}(_\\d{4,6})?){1}-"; str_extract(string, pat=pat2) ## date is correct
    pat3 <- "(.*?)(\\d{8}(_\\d{4,6})?){1}-"; str_extract(string, pat=pat3)
    pat4 <- "(.*?)(\\d{8}){1}-" ; str_extract(string, pat=pat4)

    ## Other potential string patterns
    string <- "TEXT_etc_20140530-diff_txet_20140825_1635-"
    string <- "TEXT_etc_20140530_123456-diff_txet_20140825_1635-"

    你能帮我找出正则表达式中的错误吗?

    R 用户注意: R 要求转义字符 \ 本身被转义,因此上面代码中的 \\

    1 Câu trả lời

    用这 8 位数字替换 8 位数字后跟任何内容:

    # test data
    string <- c("TEXT_etc_20140530-20140825_1635-",
    "TEXT_etc_20140530-diff_txet_20140825_1635-",
    "TEXT_etc_20140530_123456-diff_txet_20140825_1635-")

    sub("(\\d{8}).*", "\\1", string)
    ## [1] "TEXT_etc_20140530" "TEXT_etc_20140530" "TEXT_etc_20140530"

    如果应保留可选时间,请改用它:
    sub("(\\d{8}(.\\d{4,6})?)\\b.*", "\\1", string)
    ## [1] "TEXT_etc_20140530" "TEXT_etc_20140530"
    ## [3] "TEXT_etc_20140530_123456"

    làm mới 添加了第二个解决方案并对其进行了更正。

    关于正则表达式在存在多个时提取第一个 date_time 戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25535558/

    39 4 0
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com