Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >需要帮助想出一个在R中的正则表达式

需要帮助想出一个在R中的正则表达式
EN

Stack Overflow用户
提问于 2020-06-04 07:26:59
回答 1查看 37关注 0票数 1

我有几个约会要改。然而,我无法得到正则表达式,但这是我的替代尝试,但它是不必要的长。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(stringr)
#date string vector, only two scenerios can be present
date <- c("3rd of June 18:09","22nd of January 22:19")

# substring will remove the string portion. I did not go
# with regex for this is because I am not that greate with it.

all_date_corrected <- c()

for(i in date){

  if(nchar(stringr::word(i, 1))>=4){
    x<- gsub(substr(i, start= 3, stop=7), "", i)

    all_date_corrected <- c(all_date_corrected,
                            format(strptime(x,"%d %B %H:%M",tz="GMT"),
                                   format="%m-%d %H:%M"))
  }
  else{
    x<- gsub(substr(i, start= 2, stop=6), "", i)

    all_date_corrected <- c(all_date_corrected,
                            format(strptime(x,"%d %B %H:%M",tz="GMT"),
                                   format="%m-%d %H:%M"))

  }

}

print(all_date_corrected) #[1] "06-03 18:09" "01-22 22:19"

我很确定我能用substr & if- statement摆脱gsub。这是我的尝试。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gsub("([0-9]+).*?([A-Z])", "\\1", date[1]) #[1] "3une 18:09"

gsub("([0-9]+).*?([A-Z])", "\\1", date[2]) #[1] "22anuary 22:19"

正如你所看到的,我的模式是不断地消耗这封信,也不会留出空间。如果有人能帮忙就好了。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 07:47:30

你可以试试这个。它以三个捕获组捕获日期、月份和时间,并返回一个适合于strptime的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
strptime(gsub("^(\\d+)\\w+ of (\\w+) (.*)$", "\\1 \\2 \\3", date), "%d %B %H:%M")
#> [1] "2020-06-03 18:09:00 BST" "2020-01-22 22:19:00 GMT"

解释

  • ^(\\d+)从string
  • \\w+ of匹配中捕获前面的数字,但不捕获th ofrd of
  • (\\w+)捕获整个月的name
  • (.$)$捕获最终空间

之后的所有内容

"\\1 \\2 \\3"意味着用空格分隔的三个捕获组替换每个字符串,例如"03 June 18:09"。然后,我们可以使用strptime捕获这一功能,使用%d表示日期,使用%B表示月份,使用%H:%M捕获时间。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62198362

复制
相关文章
【iOS】将代码上传到pod创库
可以看到我们指定source_files指定在PPKit/Classes文件夹下的所有文件,所以我们的源码都放在这里就可以了
MapleYe
2020/03/30
8150
【iOS】将代码上传到pod创库
2.8 创建和删除目录mkdir/rm
mkdir mkdir = make directory mkdir就是创建目录,不能级联创建目录 date 显示当前时间 mkdir -p 可以级联创建目录 -v 使命令运行可视化 创建目录时一定要注意绝对路径和相对路径,当前目录,一般使用的都是相对路径也就是没有 / 这个符号的开头的 [root@hf-01 ~]# mkdir /tmp/aminglinux [root@hf-01 ~]# ls -ld /tmp/aminglinux/ drwxr-xr-x.
运维小白
2018/02/06
8290
PHP目录
代码: '; echo '目录名:'.dirname($path); */ $array_path = pathinfo($path); echo $array_path['exte
明明如月学长
2021/08/27
1.8K0
Jenkins介绍及环境搭建和目录结构介绍
Jenkins是一个用java语言开发的开源的持续集成框架,使开发和运维从繁杂和重复的操作中解脱出来,专注于更为重要的业务逻辑实现上,其主要功能是监视重复工作的执行,有点类似于windows系统中的定时任务,不过Jenkins的功能更加强大,里面集成了很多插件,也可以自己写插件集成进去。Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
小博测试成长之路
2021/03/06
1.3K0
iOS-将项目上传到 GitHub 上
创建项目 进入GitHub主页,创建新代码仓库,注册相关事宜不再赘述(见下图): 二、给你的新代码仓库起名称(可以是项目的名称或者 Demo 的文件名称)--->给你仓库添加描述(方便别人理解用途)--->点击“创建”(见下图): 步骤二.png 三、点击“创建”后会生成相应的 github 网址,这个网址就是以后上传项目的地址(见下图): 步骤三.png 四、接着用 Xcode 创建工程,记得勾选创建 Git 代码仓库(见下图): 步骤四.png 五、在导航栏找到“配置工程”选项(见下
用户1890628
2018/05/10
2.6K0
PHP源码目录结构
根目录: / 这个目录包含的东西比较多,主要包含一些说明文件以及设计方案。 其实项目中的这些README文件是非常值得阅读的例如: /README.PHP4-TO-PHP5-THIN-CHANGES 这个文件就详细列举了PHP4和PHP5的一些差异。 还有有一个比较重要的文件/CODING_STANDARDS,如果要想写PHP扩展的话,这个文件一定要阅读一下, 不管你个人的代码风格是什么样,怎么样使用缩进和花括号,既然来到了这样一个团体里就应该去适应这样的规范,这样在阅读代码或者别人阅读你的 代码是都会更
joshua317
2018/04/16
5.6K0
如何将IDEA上的项目上传到GitHub上?
最近,找到了一个去年用Springboot完成的一个web类博客项目,于是想到了上传到GitHub上开源分享。相信还有一部分刚入"IT"圈的编程小白(请忽略我也是一个菜鸟…),于是正好利用这个机会做一期记录。
大数据梦想家
2021/01/27
6.8K0
如何将IDEA上的项目上传到GitHub上?
软件测试|Linux 基础教程:创建和删除目录
在 Linux 系统中,创建和删除目录是非常常见的操作。目录是用于组织文件和其他目录的一种结构,它们是组织文件系统的重要组成部分。本文将介绍如何在 Linux 系统中创建和删除目录。
霍格沃兹测试开发Muller老师
2023/10/19
2270
OushuDB 创建和管理外部表(上)
外部表是一个数据存储在数据库外部的OushuDB数据库表,允许OushuDB对存储在数据库之外的数据源中的数据进行访问,就像数据存储在常规数据库表中一样。外部表分可读和可写,数据可以从外部表读取或写入。它和常规数据库表的用法一样, 可以执行INSERT、SELECT、JOIN等操作。外部表通常用于快速并行加载和卸载数据库数据。
用户7454708
2023/05/08
2850
OushuDB 创建和管理外部表(上)
通过 PHP把文件上传到服务器
注释: 允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。
用户9042463
2021/09/29
3.9K0
iOS上架及ipa包上传到AppStore
由于苹果的机制,在非越狱机器上安装应用必须通过官方的Appstore,开发者开发好应用后上传Appstore,也需要通过审核等环节。AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传Appstore作了支持。本文从三个流程来介绍如何实现AppCan在线编译出ipa包,以及上传到苹果Appstore。
iOS Magician
2023/03/21
9830
iOS上架及ipa包上传到AppStore
PHP面向对象-对象的创建和销毁
对象的创建是通过类来实现的。类是一个模板或蓝图,用于定义对象的状态和行为。创建一个对象的步骤如下:
堕落飞鸟
2023/04/27
1K0
PHP文件目录的操作
(1)打开目录 (2)浏览目录 (3)关闭目录 打开和关闭文件 使用opendir()函数可以打开目录 opendir(path[,resource context]) 使用close()函数可以关闭目录 closedir(resource handle path表示要打开的目录路径,如果不存在,或者权限问题,则返回flase 浏览目录() scandir()函数可以用来浏览目录 目录操作函数 函数名 说明 mkdir 创建一个目录 rmdir 删除一个目录,该目录必须是空目录 getcwd 获取当前目录,
白胡杨同学
2020/04/10
1.4K0
PHP 取目录所有文件
PHP取目录所有文件,过滤了".."与"." 将查到的文件放到files数组。 $handle = @opendir('目录') OR die('path error!'); while ($file = @readdir($handle)) { if( "." != $file && ".." != $file ) { $files[] = $file; } } closedir($handle);
雨尘
2018/07/17
2K0
PHP 取目录所有文件
V站笔记 $handle = @opendir('目录') OR die('path error!'); while ($file = @readdir($handle)) { if( "." != $file && ".." != $file ) { $files[] = $file; } } closedir($handle);
V站CEO-西顾
2018/06/09
6.7K1
PHP-MVC框架目录
将文件存放到不同的目录以后,由于类文件地址发生了变化,所以无法完成自动加载类,那么今天的主要任务就是围绕如何实现类的自动加载展开。
cwl_java
2020/03/28
1.5K0
php封装单文件上传到数据库(路径)
1.首先思考一个问题上传到数据库是上传的图片还是图片地址这里我们上传的是图片地址,因为图片或音频存数据库中过大,数据库会崩掉。
用户2323866
2021/07/12
1.2K0
PHP 取目录所有文件
PHP取目录所有文件,过滤了".."与"." 将查到的文件放到files数组。 $handle = @opendir('目录') OR die('path error!'); while ($file = @readdir($handle)) { if( "." != $file && ".." != $file ) { $files[] = $file; } } closedir($handle);
墨渊
2018/05/09
2.2K0
git把本地文件上传到github上的步骤
1.清除clean 2.返回上一级cd .. 3.克隆仓库地址git clone+地址 4.添加忽悠文件vim .gitignore 5查看cat .gitignore 6.进入到test,并且添加所有的文件:cd test    git add. 7.查看状态,绿色git status 8.提交git commit  -am "wangtingwx" 9.查看状态 10.放到github:   ----------git  push origin master Administrator@PC-20160
王小婷
2018/05/31
5.3K0
点击加载更多

相似问题

Php图像创建和上传到文件夹

34

将图片从子目录php上传到根目录

10

目录创建和并发

10

视频不会上传到特定的目录?[PHP]

11

PHP :获取上传到目录的图像的链接

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文