我有这个简单的div:
<div id='names'>
name1[John]
name2[Blake]
name3[Sven]
name4[Ellis]
</div>
我想使用JavaScript
返回这些变量var name1 = "John";
var name2 = "Blake";
var name3 = "Sven";
var name4 = "Ellis";
答案 0 :(得分:1)
你的问题缺乏很多细节。可以有超过这四个名字吗?您是否可以重新构建代码以便更轻松地访问数据?
var toParse = document.getElementById('names').innerHTML;
var m;
var re = /\[(.*)\]/g;
while (m = re.exec(toParse)) {
console.log(m[1]);
}
(https://jsfiddle.net/hL4bu5j1/)
此代码在[Bracers]中查找文本并将其输出到控制台,以便您了解如何处理此问题。你应该乐于助人。想把这个作为评论,但我还没有被允许。
答案 1 :(得分:0)
这应该这样做:
//document.body.innerHTML = "<div id='names'>\n name1[John]\n name2[Blake]\n name3[Sven]\n name4[Ellis]\n</div";
var obj = {};
var str = document.getElementById("names").innerHTML;
while(str.lastIndexOf(' ') >= 0) {
str=str.replace(' ','')
}
var str=str.split("\n");
for(var i = 0;i<str.length;i++){
if(str[i].length > 2) {
obj[str[i].replace(']','').split('[')[0]] = str[i].replace(']','').split('[')[1];
}
}
console.log(obj)
答案 2 :(得分:0)
这是一个丑陋的版本:
string path = @"C:\\Public Key Pin\Test.txt";
if (!File.Exists(path))
{
File.Create(path);
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("The first line!");
}
}
else if (File.Exists(path))
{
MessageBox.Show("File with this path already exists.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
我认为Regex更适合您的问题