Javascript 如何使用多个分号拆分字符串

Javascript 如何使用多个分号拆分字符串,javascript,arrays,typescript,split,Javascript,Arrays,Typescript,Split,我有一根像下面这样的线 var exampleString=“名称:Sivakumar;Tadisetti;国家:印度” 我想用分号拆分上面的字符串,所以需要像这样的数组 var result=[“名称:Sivakumar;Tadisetti”,“国家:印度”] 但由于名称包含另一个分号,我得到的数组类似 var result=[“姓名:Sivakumar”、“Tadisetti”、“国家:印度”] 这里Sivakumar;Tadisetti键的值名称 我刚刚编写了类似于exampleStrin

我有一根像下面这样的线

var exampleString=“名称:Sivakumar;Tadisetti;国家:印度”

我想用分号拆分上面的字符串,所以需要像这样的数组

var result=[“名称:Sivakumar;Tadisetti”,“国家:印度”]

但由于名称包含另一个分号,我得到的数组类似

var result=[“姓名:Sivakumar”、“Tadisetti”、“国家:印度”]

这里
Sivakumar;Tadisetti
键的值
名称

我刚刚编写了类似于
exampleString.split(“;”)
的代码。。。除此之外,我无法获得进一步的想法,以获得我想要的输出。有什么建议吗


拆分逻辑:我想将字符串拆分为带有
键:值
对的数组

因为
.split
也接受正则表达式,所以可以使用一个匹配分号的数组,分号后面只跟以
结尾的字母数字字符(如果后面跟有另一个键,则有效)

var exampleString=“名称:Sivakumar;Tadisetti;国家:印度”;
var result=exampleString.split(/;(?=\w+:)/);

console.log(result)
因为
.split
也接受正则表达式,所以可以使用一个与分号匹配的分号,分号后面只跟以
结尾的字母数字字符:
(如果后跟另一个键,则有效)

var exampleString=“名称:Sivakumar;Tadisetti;国家:印度”;
var result=exampleString.split(/;(?=\w+:)/);

log(result)
这里有一种方法,我们首先在
上拆分输入
然后将不带
的元素与前一个元素合并:;因为它不应该被吐出来

let exampleString=“名称:Sivakumar;Tadisetti;国家:印度”
让reverseSplite=exampleString.split(“;”).reverse();
让我们一起来吧;
让正则表达式=/[^::+:.*/;
让结果=reverseSplite.map(str=>{
if(正则表达式测试(str)){
如果(前一个字符串){
让returnValue=str+“;”+prevoiuString;
prevoiustring=null;
返回值
}
返回str
}
prevoiustring=str;
}).过滤器(e=>e);

控制台日志(结果)这里有一种方法,我们首先在
上拆分输入
然后将不带
的元素与前一个元素合并:;因为它不应该被吐出来

let exampleString=“名称:Sivakumar;Tadisetti;国家:印度”
让reverseSplite=exampleString.split(“;”).reverse();
让我们一起来吧;
让正则表达式=/[^::+:.*/;
让结果=reverseSplite.map(str=>{
if(正则表达式测试(str)){
如果(前一个字符串){
让returnValue=str+“;”+prevoiuString;
prevoiustring=null;
返回值
}
返回str
}
prevoiustring=str;
}).过滤器(e=>e);

控制台日志(结果)定义哪个
的逻辑是什么在何处拆分?字符串中有2个分号。@GabrielePetrioli我想用key:value拆分字符串pairs@Leonardo没有“Sivakumar;Tadisetti”是单曲value@GabrielePetrioli
不包含分号,但
可能包含多个分号,例如:
名称:Sivakumar;塔迪塞蒂
国家:印度
值是否总是以分号结尾?定义哪个
的逻辑是什么在何处拆分?字符串中有2个分号。@GabrielePetrioli我想用key:value拆分字符串pairs@Leonardo没有“Sivakumar;Tadisetti”是单曲value@GabrielePetrioli
不包含分号,但
可能包含多个分号,例如:
名称:Sivakumar;Tadisetti
国家:印度
值是否总是以分号结尾?dude;又好又干净;又好又干净。