我在使用Perl转换数据时遇到两个问题?

时间:2019-11-26 20:39:18

标签: perl

  1. 我想转换此输入{111,222},{333,444},{555,666},以使输出类似于此111;222;333;444;555;666{111,222},{333,444}111;222;333;444{111,222}111;222也是一样。

  2. 我想将此日期格式从2019-11-12 15:25:19转换为11/12/2019 15:25:19,并将2019-11-04T15:26:11.000+00:00转换为11/12/2019 15:25:19

2 个答案:

答案 0 :(得分:0)

  1. 您可以使用一个简单的脚本,如下所示:

    const Discord = module.require("discord.js");
    
    module.exports.run = async (bot, message, args) => {
    
    message.channel.send ("Niobe labs map colors signify which weapon to use!",{files: ["./destiny/Niobe labs/map 1.jpg","./destiny/Niobe labs/entrance.jpg","./destiny/Niobe labs/map 2.jpg",
        "./destiny/Niobe labs/map 3.jpg","./destiny/Niobe labs/map 4.jpg","./destiny/Niobe labs/map 5.jpg","./destiny/Niobe labs/map 6.jpg","./destiny/Niobe labs/map 7.jpg","./destiny/Niobe labs/map 8.jpg"]});
    
    }
    
    module.exports.help = {
          name: "niobelabs"
      }
    

    shebang行说读取输入行并打印每行的修改形式(#!/usr/bin/perl -pl s/^\{//; s/\}$//; s/\}?,\{?/;/g; )并自动处理行结尾(-p)。

    第一个-l删除前导s///。第二个删除尾随的{。最后一行将}},{替换为,

  2. 您可以使用像这样的简单脚本(假设您确实要将;映射到2019-11-04T15:26:11.000+00:00,而不是另一个值,它是输入值后52天的8天柱):

    11/04/2019 15:26:11

    shebang行与以前相同。正则表达式将查找4位,破折号,2位数字,破折号,2位数字,空白或#!/usr/bin/perl -pl s%(\d{4})-(\d\d)-(\d\d)[T ](\d\d:\d\d:\d\d).*%$2/$3/$1 $4%; ,一个T字符串并杂散并按正确的顺序重新格式化。

它们之间产生了预期的结果。

当然,这是Perl,TMTOWTDI-timtoady,或者“有多种方法可以做到这一点”:

hh:mm:ss

答案 1 :(得分:0)

只需将非数字的序列音译为;

$data =~ y/0-9/;/cs;