[英]Split the string on a delimiter based on conditions
我有一个类似于下面的字符串
var str = '1;2;3;{"A",B};4;6;{"C","D"}'
我想将 str 转换为由“;”分隔的数组
var array = [str.split(';')];
它被转换为 --> ["1","2","3","{"A",B}","4","6","{"C","D"}"]
但我需要一个与此类似的数组 --> [1,2,3,{"A",B},4,6,{"C","D"}]
所有数字都应该是数字和字符串一样的字符串。我知道可以使用循环来完成,但是有没有一种简单的方法可以做到这一点,因为实际上字符串非常大,几乎有 500-600 个值。
检查输入是否为数字并将其转换并删除其他内容将其转换回字符串
var str = '1;2;3;{"A",B};4;6;{"C","D"}'
str.split(';').map(x => {
if (!isNaN(x)) {
return parseInt(x, 10)
}
return x;
}).join(',')
.replace("\"{", "{")
.replace("\"}", "}")
示例字符串: 1,2,3,{"A",B},4,6,{"C","D}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.