繁体   English   中英

根据条件在分隔符上拆分字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM