我正在尝试读取一个包含csv数据的s3对象,并将其转换为字符串变量,到目前为止,到目前为止一切正常,现在,当我尝试使用arr = body.match(/.*/g).map(row => row.split(","));
将该数据读取到数组中时,我看到例如,当我将"
数组中的每个数组元素写入"TEST_SESSION_VALUE4, MSTA_"
表中时,列值将嵌入arr
中,例如html
。因此,在写入"TEST_SESSION_VALUE4, MSTA_"
时,该值将分成两个值,从而使html
表不均匀
const body = Buffer.from(data.Body).toString('utf-8'); //this line of code reading s3 object containing csv data and converting into string
当我console.log(body)
低于数据时
TEST_SESSION_VALUE1,121,Round1,sev1,1
TEST_SESSION_VALUE2,122,Round2,sev2,2
TEST_SESSION_VALUE2,123,Round3,sev3,3
"TEST_SESSION_VALUE4, MSTA_",124,Round4,sev4,4 //take a look at this row which off from rest of them
前三行很好地适合html
表,其中有三行五列。但是,当涉及到最后一行时,由于"TEST_SESSION_VALUE4, MSTA_"
分成两个值,因此它占用了额外的列
我尝试了一些类似arr = body.match(/(.*|".*?")/g).map(line => line.split(","))
的表达式,但没有得到预期的结果。非常感谢使用符合上述目的的正则表达式。