在javascript中将字符串拆分为特定结果

在javascript中将字符串拆分为特定结果,javascript,node.js,Javascript,Node.js,我下面有一个精确的字符串 string a = "@David<br/>0044332 Awesome product! (John) 2013-09-02<br/>0044332 Delivered on time (Alice) 2014-02-26" string a=“@David0044332真棒的产品!(John)2013-09-020044332准时交付(Alice)2014-02-26” 我正在尝试将上面的字符串拆分为下面的结果 string prod

我下面有一个精确的字符串

string a = "@David<br/>0044332 Awesome product! (John) 2013-09-02<br/>0044332 Delivered on time (Alice) 2014-02-26"
string a=“@David
0044332真棒的产品!(John)2013-09-02
0044332准时交付(Alice)2014-02-26”
我正在尝试将上面的字符串拆分为下面的结果

string productNo = "0044332"
string customercomment = "0044332 Awesome product! (John) 2013-09-02<br/>0044332 Delivered on time (Alice) 2014-02-26"
string productNo=“0044332”
string customercomment=“0044332真棒的产品!(John)2013-09-02
0044332准时交付(Alice)2014-02-26”

我如何将其拆分以删除@David,获取productNo,然后将其余部分作为字符串a中的注释?

我想您也需要Alice的位

const a=“@David
0044331真棒的产品!(John)2013-09-02
0044332按时交付(Alice)2014-02-26” const parts=a.split(
) 部分。移位() 控制台日志(部分) 部分。forEach(功能(部分){ 设位=部分拆分(“”); console.log(位[0],“:”,位.slice(1).join(“”) });
我想你也想要爱丽丝的位子吧

const a=“@David
0044331真棒的产品!(John)2013-09-02
0044332按时交付(Alice)2014-02-26” const parts=a.split(
) 部分。移位() 控制台日志(部分) 部分。forEach(功能(部分){ 设位=部分拆分(“”); console.log(位[0],“:”,位.slice(1).join(“”) });
您可以使用
replace()
匹配所需的零件并将其拉出

var test=“@David
0044332真棒产品!(John)2013-09-02
0044332准时交付(Alice)2014-02-26”; var订单号; var评价; test.replace(/^[^>])+(\d+)(.+)$/,函数(ux,match1,match2){ orderNumber=match1; 注释=匹配1+匹配2; }); console.log(订单号);
console.log(注释)您可以使用
replace()
匹配所需的零件并将其拉出

var test=“@David
0044332真棒产品!(John)2013-09-02
0044332准时交付(Alice)2014-02-26”; var订单号; var评价; test.replace(/^[^>])+(\d+)(.+)$/,函数(ux,match1,match2){ orderNumber=match1; 注释=匹配1+匹配2; }); console.log(订单号);
console.log(注释)
如果您首先将
字符串

拆分,则可以获得包含不同数据的数组:

const a=“@David
0044332真棒的产品!(John)2013-09-02
0044332准时交付(Alice)2014-02-26”; 设数据=a.split(//);
控制台日志(数据)
如果您首先将
字符串

拆分,则可以获得包含不同数据的数组:

const a=“@David
0044332真棒的产品!(John)2013-09-02
0044332准时交付(Alice)2014-02-26”; 设数据=a.split(//);

控制台日志(数据)
string.split(productNo)[1]
我的意思是,如果你知道字符串以“
”开头,那么你真的只需要找到第一个
的索引并在它之后切片,我假设你也想要Alice的消息?
string.split(productNo)[1]
我的意思是,如果你知道字符串以“
”开头然后你真的只需要找到第一个
的索引并在它之后切片我假设你也想要Alice的消息?缺少第二个消息缺少什么?看起来和他的第二个片段相符@mplungjanI可能是错的,但我假设OP也想要第二个产品id鉴于字符串的组成,我的假设是他可能希望将其粘贴在页面上,让html呈现给David以查看他的消息。在这种情况下,保持
是有意义的@mplungjan@Devora如果字符串格式总是以@stuff
开头,那么match1将始终是订单号,match2将始终是第一个产品号之后的所有文本。不管评论数量如何。缺少第二条评论缺少什么?看起来和他的第二个片段相符@mplungjanI可能是错的,但我假设OP也想要第二个产品id鉴于字符串的组成,我的假设是他可能希望将其粘贴在页面上,让html呈现给David以查看他的消息。在这种情况下,保持
是有意义的@mplungjan@Devora如果字符串格式总是以@stuff
开头,那么match1将始终是订单号,match2将始终是第一个产品号之后的所有文本。不管评论数量如何。是的,我也喜欢wan Alice,但只保留它的其余字符串,只删除@David和第一个字符串customercomment=“0044332 Awesome product!(John)2013-09-02
0044332准时交付(Alice)2014-02-26“是的,我也喜欢wan Alice,但只保留它的其余字符串,只删除@David和第一个字符串customercomment=“0044332 Awesome product!(John)2013-09-02
0044332准时交付(Alice)2014-02-26“这很好,我只是不确定是否保存到mongo,当我检索它时,它是否会作为字符串的一部分?@Devora我没有使用
MongoDB
。所以我不确定,但我相信不会有问题。如果消息是这样的,你知道如何分割吗?有隐藏的shift+enter
string a=“@David 0044332真棒的产品!(John)2013-09-02 0044332准时交付(Alice)2014-02-26”
@Devora您尝试过
a.split(/\n/)
a.split(/\r/)?这很好,我只是不确定是否保存到mongo,当我检索它时,它是否会作为字符串的一部分?@Devora我没有使用
MongoDB
。所以我不确定,但我相信不会有问题。如果消息是这样的,你知道如何分割吗?有隐藏的shift+enter
string a=“@David 0044332真棒的产品!(John)2013-09-02 0044332准时交付(Alice)2014-02-26”
@Devora您尝试过
a.split(/\n/)
a.split(/\r/)