将字符串拆分为数组,但仍保留它';应用join时使用逗号Javascript

将字符串拆分为数组,但仍保留它';应用join时使用逗号Javascript,javascript,arrays,string,split,Javascript,Arrays,String,Split,我很难记住如何拆分字符串,同时仍保留字符串中的逗号并拆分特殊情况 我尝试做的例子如下: > Input: "Welcome, <p>how<b>are you</p>do-ing</b>?" > Output: ["Welcome,", " ", "<p>", "how", "<b>", "are you", "</b>", "</p>", "do-ing", "</b>",

我很难记住如何拆分字符串,同时仍保留字符串中的逗号并拆分特殊情况

我尝试做的例子如下:

> Input: "Welcome, <p>how<b>are you</p>do-ing</b>?"
> Output: ["Welcome,", " ", "<p>", "how", "<b>", "are you", "</b>", "</p>", "do-ing", "</b>", "?"]
>输入:“欢迎,你好吗?”
>输出:[欢迎,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]
我所尝试的:

var str = "Welcome, <p>how<b>are you</p>doing</b>?",
    arr = str.split(/([,\s])/);
var str=“欢迎,你好吗?”,
arr=str.split(/([,\s])/);

不幸的是,我能想到的拆分特殊情况的唯一方法是在它们之前和之后用逗号替换它们,但所有这些都会导致试图保留原始逗号时出现问题。我一直在挠头,我知道它就在我面前。我已经试着到处寻找示例或答案,但我在寻找的内容中却一片空白。

使用
.match
而不是
。拆分

var str=“欢迎,你好吗?”,

arr=str.match(/]+>|[^,哇!我真的不知道!非常感谢!再次感谢你,这是非常有意义的。我甚至不知道这样的事情已经存在--是的,
match
split
灵活得多。虽然你可以在相当有限的情况下使用
split
,但
.match
可能是解决问题的方法o否则,如果您无法立即看到
拆分
解决方案起作用。对于任何不是非常琐碎的问题,匹配要匹配的字符序列通常比匹配要拆分的位置更容易。