我正在尝试根据每行以 DD/MM/YYYY 格式的日期开头的事实将导入的文本文件拆分为一个数组。我尝试使用正则表达式来实现这一点:
flist = f.split(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/)
是f要拆分的字符串。然而,代码运行并生成一个保存到的数组flist,当console.log(flist)运行时它只有一个元素并且没有被拆分。
编辑:
完整代码:
const fs = require("fs")
f = fs.readFileSync("file.txt", "utf8")
let flist = f.split(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/g)
console.log(flist)
示例文件.txt:
18/07/2018, 18:04 - Person2: message
18/07/2018, 18:04 - Person1: Yes
18/07/2018, 18:04 - Person2: That's good then
18/07/2018, 18:05 - Person1: message line 1
message line 2
18/07/2018, 18:05 - Person2: text
18/07/2018, 18:05 - Person2: But nvm
18/07/2018, 18:06 - Person1: text
所以用新行拆分的问题是新行并不意味着一条新消息,但是我希望我的数组成为每条新消息,因此需要每个新元素以 DD/MM/YYYY 开头,并且正在搜索以拆分使用正则表达式,但是它不会拆分/查找匹配项。