Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 日期前拆分字符串(d/m/Y)_Javascript_Angular_String - Fatal编程技术网

Javascript 日期前拆分字符串(d/m/Y)

Javascript 日期前拆分字符串(d/m/Y),javascript,angular,string,Javascript,Angular,String,我正在读取文件的内容,并希望以优雅的方式显示它。最初我使用split('\n')拆分文本,但在该文件中的某个地方我有多行文本,并且该文本也使用我不希望使用的这种方法进行拆分。所以我发现了一个技巧,我要用日期分割文本,请看下面的例子,并建议我如何做到这一点 12/10/18,上午10:33-用户1:这是一行代码12/10/18,上午10:33-用户2:这是在这行中编写的多行代码 正如您在上面的示例中所看到的,每行前面都有一个日期,如12/10/18。所以我想在日期前拆分行。是的 12/10/18

我正在读取文件的内容,并希望以优雅的方式显示它。最初我使用
split('\n')
拆分文本,但在该文件中的某个地方我有多行文本,并且该文本也使用我不希望使用的这种方法进行拆分。所以我发现了一个技巧,我要用日期分割文本,请看下面的例子,并建议我如何做到这一点

12/10/18,上午10:33-用户1:这是一行代码12/10/18,上午10:33-用户2:这是在这行中编写的多行代码
正如您在上面的示例中所看到的,每行前面都有一个日期,如
12/10/18
。所以我想在日期前拆分行。是的

  • 12/10/18,上午10:33-用户1:这是一行代码
  • 12/10/18,上午10:33-User2:这是用这一行写的多行代码。

  • 我真的很感谢你的帮助。提前感谢。

    您可以使用日期模式拆分:

    var str=“12/10/18,10:33 AM-User1:这里有一行代码12/10/18,10:33 AM-User2:这里有多行代码写在这一行”;
    var x=str.split(/(\d{2}\/\d{2}\/\d{2})/);
    对于(i=1;i
    您可以执行以下操作:

    const str='12/10/18,上午10:33-User1:这是一行代码12/10/18,上午10:33-User2:这是用这行写的多行代码';
    常量正则表达式=/(?=[0 | 1]\d{1}\/[0 | 1 | 2]\d{1}\/[18 | 19 | 20])/g;
    const result=str.split(正则表达式);
    
    控制台日志(结果)如果您想要有两个部分,可以使用“类似日期”的模式(注意,这不会验证日期本身):

    例如:

    var str=“12/10/18,10:33 AM-User1:这里有一行代码12/10/18,10:33 AM-User2:这里有多行代码写在这一行”;
    var parts=str.split(/(?=\d{2}\/\d{2}\/\d{2})/);
    控制台日志(部件)
    
    var text=“12/1/18,10:33 AM-User1:这是一行代码2/10/18,10:33 AM-User2:这是写在这行中的多行代码12/10/18,10:33 AM第三行\n这在换行之后”;
    var模式=/\d{1,2}\/\d{1,2}\/\d{2}/g;
    //获取模式匹配的开始索引
    var指数=[]
    while((match=pattern.exec(text))!==null){
    索引。推送(匹配。索引);
    }
    //拆线
    var结果=[];
    for(设i=0;i控制台日志(结果)有时,我成功地使用/r/n拆分,这取决于几件事。看起来可以使用RegExp。如前所述,这不适用于多行情况above@ABOS我可以举一个多行的例子吗?我回答了问题中提到的字串。是的,如果需要考虑文件,您是对的,但是文件是如何格式化的?谢谢你,也许OP可以澄清一下。我只是猜测。@ABOS非常感谢。这对多行文字有效吗?例如,如果第二段有3条线。在我的例子中,我在这里写的是多行代码,这意味着可能有多行文本。希望对您有意义此函数做得很好,但在某些情况下,日期格式是这样的9/13/17,15/7/18这样,在您的代码模式中是mm/dd/yy,但如何添加(m/d/yy和mm/d/yy)这些格式也是吗?@NeerajSharma我修改了正则表达式,使它现在也与您提到的其他日期格式相匹配。@NeerajSharma回答您的第一个问题:是的,这就是为什么我在示例文本中添加了第三行,其中包含换行符(\n),以证明它也有效。文本仅在模式每次出现时分割(mm/dd/yy、m/dd/yy等)。
    
    (?=\d{2}\/\d{2}\/\d{2})