如何在六位数子串的每两位数之间添加点?
Posted
技术标签:
【中文标题】如何在六位数子串的每两位数之间添加点?【英文标题】:How to add dots between every two digits of a six digit substring? 【发布时间】:2017-12-13 13:21:12 【问题描述】:我有一个包含大约一千个文件名的文本文件,我需要稍微更改一下。每个文件名都是一个日期和时间,格式如下:
2013-05-01 120125.jpg
我需要将它们全部转换为:
2013-05-01 12.01.25.jpg
我假设这对于正则表达式来说是相当微不足道的,但当我尝试对它们做任何事情时,我总是感到困惑!感谢您的帮助!
【问题讨论】:
你试过什么?展示你的作品。 SO 不是代码编写服务,您必须自己完成工作,我们可以帮助您解决遇到的问题。 运行这个正则表达式的语言/环境是什么? 我很可能会在 nano 中运行正则表达式。我要做的是使用 renameutils 批量更改文件名。这将打开一个包含文件夹中所有文件名的 nano 文件。 【参考方案1】:您想通过这样的捕获对子字符串使用替换技术(在您使用的任何语言/环境中):
(\d2)(\d2)(\d2)
*注意花括号是为了提高效率。
并替换为:
$1.$2.$3
这是demo link。
这是SO page discussing the execution of replacements on nano。
【讨论】:
谢谢,我试试看。【参考方案2】:使用捕获组匹配数字,并将它们复制到替换。
替换:(\d\d)(\d\d)(\d\d)\.jpg
与:$1.$2.$3.jpg
$1
、$2
、$3
复制每个捕获组匹配的原始字符串部分。
【讨论】:
【参考方案3】:正如 Soviut 所说,SO 是为了帮助而不是为您工作。话虽这么说:
如果您想使用正则表达式做某事,最好访问 Rubular 网站,该网站允许您创建正则表达式,同时准确查看您得到的结果。
Rubular
【讨论】:
有些东西告诉我这个“答案”不应该在这里,而是在评论部分......哦 谢谢,我会阅读的。我并没有试图避免学习它......好吧也许有点......我总是对正则表达式感到非常不知所措。这不是作业帮助或任何东西,只是试图合并一些文件。以上是关于如何在六位数子串的每两位数之间添加点?的主要内容,如果未能解决你的问题,请参考以下文章