gpt4 book ai didi

javascript - 找到模式,然后通过结束新行进行分割

转载 作者:行者123 更新时间:2023-12-03 00:49:11 24 4
gpt4 key购买 nike

我试图找到一个特定的模式,然后按以下结束行分割文本。例如,我的文本看起来与此类似

{11/2/2018 8:09 AM} This item was created by. -John Doe 
{11/2/2018 10:56 AM} This item was upated by -Sue Smith
{11/2/2018 10:58 AM} Does this item handle multiple lines?
Yes it does -Jane Sample

我目前正在使用以下 JavaScript

var Notes = data.Notes.split(/-[\w ]+$/gmi);
$.each(Notes, function (index, note) {
console.log(note)
})

这确实工作得有点完美,它将文本分成以下几行

<小时/>
{11/2/2018 8:09 AM} This item was created by.
<小时/>
{11/2/2018 10:56 AM} This item was upated by
<小时/>
{11/2/2018 10:58 AM} Does this item handle multiple lines? 
Yes it does
<小时/>

但正如您所看到的,它删除了用户名...

我该如何编写它,以便按照特定模式拆分字符串,但将用户名保留在字符串末尾?

最佳答案

一种方法是使用 .match 而不是 .split:

const text = `{11/2/2018 8:09 AM} This item was created by. -John Doe
{11/2/2018 10:56 AM} This item was upated by -Sue Smith
{11/2/2018 10:58 AM} Does this item handle multiple lines?
Yes it does -Jane Sample`;

const notes = text.match(/^[\s\S]*?-[\w ]+$/mg) || [];

for (const note of notes) {
console.log(note);
}

.split 可让您指定要丢弃的内容。 .match 让您指定要保留的内容。在这里,我们想要提取尽可能短的任何文本 ([\s\S]*?),直到下一个出现的名称 (-[\w ]+$).

关于javascript - 找到模式,然后通过结束新行进行分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53121380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com