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})