湖上湖
2023-07-14 15:35:22
我有一個(gè)如下所示的字符串文本,我想在出現(xiàn)新行并以日期 dd/mm/yyyy 開頭時(shí)分割文本。我在 javascript 中使用 jsonata $split() 函數(shù)。但是,我收到 jsonata 錯(cuò)誤,如下所示“正則表達(dá)式匹配零長度字符串”。請幫助我如何解決這個(gè)問題。text = "22/03/2012 intro 20/10/2019\n" + "22/03/2012 body\n" + "more body 22/04/2020\n" + "22/03/2012 stuff more stuff"$split(text , /\\r?\\n(?=(?:0[1-9]|[12][0-9]|3[01])[- \\/.](?:0[1-9]|1[012])[- \\/.](?:19|20)\\d\\d)/))//I want the output to be [ "22/03/2012 intro 20/10/2019",// "22/03/2012 body more body 22/04/2020",// "22/03/2012 stuff more stuff] // But my output now is [ "22/03/2012 intro 20/10/2019",// "22/03/2012 body/n + more body 22/04/2020",// "22/03/2012 stuff more stuff]
2 回答

至尊寶的傳說
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
使用
$split($replace(text,?/(\r?\n)\s*\+\s*(?=\d{2}[-?\/.]\d{2}[-?\/.]\d{4})|\r?\n\s*\+\s*/g,?'$1'),?/\r?\n/)
第一個(gè)$replace
刪除加號和換行符,并在必要時(shí)替換為行結(jié)尾。
一種$split
是用回車+換行或僅換行來分割。

慕娘9325324
TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
const str = "22/03/2012 intro\n" +
"22/03/2012 body\n" +
"more body\n" +
"22/03/2012 stuff\n" +
"more stuff\n";
console.log(str.match(/^[0-9][0-9][- /.][0-9][0-9][- /.][0-9][0-9][0-9][0-9][a-zA-Z\s]+(?:[a-zA-Z\s]+)/gm));
// Will log ["22/03/2012 intro\n","22/03/2012 body\nmore body\n", "22/03/2012 stuff\nmore stuff\n"]
添加回答
舉報(bào)
0/150
提交
取消