gpt4 book ai didi

r - 如何计算日期信息之后的空格数?

转载 作者:行者123 更新时间:2023-12-03 23:25:48 25 4
gpt4 key购买 nike

我有如下所示的非结构化数据:

data <- c("24-March-2017      product 1              color 1",
"March-2017-24 product 2 color 2",
"2017-24-March product 3 color 3")

我想计算每行日期和第一个字符(产品列)之间的空格数。如示例数据所示,日期格式可能会有所不同。此信息将用于将数据转换为结构化格式。

在 R 中执行此操作的最佳方法是什么?我相信 gsub可以在这种情况下使用,只是不确定如何申请仅计算每行开头的空格数。

最佳答案

一种方法是使用 regexpr这将返回有关给定正则表达式的第一个匹配项的信息。在您的情况下,您正在寻找重复空格的第一个实例。因此,以下内容将告诉您 (1) 在您的字符串中您将找到第一个空格的位置,以及 (2) 在属性中您有多少个空格:

regexpr("\\s+", data)
# [1] 14 14 14
# attr(,"match.length")
# [1] 6 14 2
# attr(,"useBytes")
# [1] TRUE

然后您可以使用 attr提取 match.length属性:
attr(regexpr("\\s+", data), "match.length")

编辑

正如@xehpuk 所指出的,使用 \\s+将匹配至少一个空格。如果您的日期列包含可能有问题的空格。相反,您需要使用 \\s{2,} .

关于r - 如何计算日期信息之后的空格数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43195488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com