Javascript 将逗号分隔的字符串拆分为单独的字符串

Javascript 将逗号分隔的字符串拆分为单独的字符串,javascript,string,Javascript,String,我有一个使用JavaScript制作的文件,其中包含网站的localstorage的内容。它被串起来了,(现在)用“|”隔开。 我想在每个“|”之后将这个字符串拆分为一个单独的字符串,这样我就可以逐个将每个变量及其值输入到localstorage中,因为据我所知,您不能一次设置多个项。这是我到目前为止得到的,但在研究之后,我还没有找到一个解决方案,而不是放入数组中 <input type="file" id="file" accept=".io"> <div id="conte

我有一个使用JavaScript制作的文件,其中包含网站的localstorage的内容。它被串起来了,(现在)用“|”隔开。 我想在每个“|”之后将这个字符串拆分为一个单独的字符串,这样我就可以逐个将每个变量及其值输入到localstorage中,因为据我所知,您不能一次设置多个项。这是我到目前为止得到的,但在研究之后,我还没有找到一个解决方案,而不是放入数组中

<input type="file" id="file" accept=".io">
<div id="contents"></div>
<script>
var X;
document.getElementById('file').addEventListener('change',
    function () {
        var fr = new FileReader();
        fr.onload = function () {
            document.getElementById('contents').textContent = 
                this.result.replace(/,/g,"|").replace(/:/g,",").slice(1,-1);
        };
        fr.readAsText(this.files[0]);
    }
);
localStorage.setItem("test","1223asd3423");
</script>
新字符串

"AB12_Rubicon","37"|"AB9","99"|"backgroundColor","#2e2e2e"|....
期望结果的示例

Newstring1='“AB12_Rubicon”,“37';
Newstring2='“AB9”,“99'

我肯定我会编辑这个答案,但无论如何

如果你得到的是这个输入

{"AB12_Rubicon":"37","AB9":"99","backgroundColor":"#2e2e2e",....}
然后它不是一个字符串,而是JSON,您不必拆分它来获得值。 你必须循环通过它

首先,您需要检查JSON是否已字符串化,如果已字符串化,则需要将其转换回JSON

要检查,只需使用
console.log(输入类型)
如果是字符串,则使用
JSON.parse(输入)

现在假设你已经解决了所有的问题

下面是提取这些值的代码

for (var key in input){
    var current_key = key; // will get value before the ":"
    var current_value = input[key]; // value after ":"
    // do what ever you need
}
编辑:
仅仅因为问题的标题很难理解,一些ne可能会遇到这样一个问题:在字符串中填充我们
myvariable\u with_string.split(',')

给我们一个示例字符串和想要的结果newstring1=“AB12\u Rubicon”:“37”Newstring2=“AB9”:“99”我在该字符串中没有看到|分隔符。我用“,”替换了“:”s希望能够执行类似localStorage.setItem(newstring1)的操作。您的问题指出,有一个字符串带有管道字符分隔符,但您提供给我们的示例没有管道字符。我认为你应该花点时间思考一下你需要什么,并用一个合适的输入字符串和你想要的输出的例子来完善你的问题。
for (var key in input){
    var current_key = key; // will get value before the ":"
    var current_value = input[key]; // value after ":"
    // do what ever you need
}