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

时间:2016-03-27 20:57:42

标签: javascript string

我有一个使用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>

我感觉我所做的是一种导出/导入本地存储数据的细长且低效的方式,并且有某种解决方案包含for循环和其他形式的混合JavaScript我还没有成为一名新手。

以下是原始文件如何格式化以供参考的示例:

Settings.io: (.io file extension, not website domain)

{"AB12_Rubicon":"37","AB9":"99","backgroundColor":"#2e2e2e",....}

新字符串

"AB12_Rubicon","37"|"AB9","99"|"backgroundColor","#2e2e2e"|....

期望结果的示例

Newstring1 =&#39;&#34; AB12_Rubicon&#34;,&#34; 37&#34;&#39; Newstring2 =&#39;&#34; AB9&#34;,&#34; 99&#34;&#39;;

1 个答案:

答案 0 :(得分:0)

我确定我会编辑这个答案但是什么

如果你得到的是这个输入

{"AB12_Rubicon":"37","AB9":"99","backgroundColor":"#2e2e2e",....}

然后它不是一个字符串它是JSON你没有必要拆分它来获取值。 你必须循环它。

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

检查只需使用console.log(typeof input); 如果是字符串,请使用JSON.parse(input);

现在假设您已将所有对象情况整理出来

这是提取值的代码

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
}

编辑:

只是因为问题标题是如此的大肆可能会遇到这个问题,看看字符串minupulation us myvariable_with_string.split(',')