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