解析特定格式的字符串

时间:2013-05-01 07:24:06

标签: javascript jquery html

我正在寻找一种方法来解析这种性质的字符串:

r-g-b g

g-g g g

b g-g

基本上,字母决定了要显示的色圈,-决定圈子之间是否有链接。

我有点担心如何使用JS / jQuery / HTML开发一个有效的算法。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我不确定你想要完成什么,但这是我最好的猜测:

var s = "r-g-b g";
var color = { 'r' : 'red', 'g' : 'green', 'b' : 'blue' };
s = s.split(''); //turn it into an array;

for (i=0; i < s.length; i++) {
    if (s[i]=='-') drawLink();
    else drawCircle(color[s[i]]); 
}

function drawCirlce(color) { 
   //your code for this 
}

function drawLink() { 
   //your code for this 
}

答案 1 :(得分:0)

我能想到的最简单的答案是一次读取一个字符串,并按指示操作。复杂的是(我假设)你需要绘制下一个圆圈才能在它们之间绘制链接:

var s = 'b-g r r b';
link = '';
for ( var i = 0; i < s.length; i++ ) {
  // `s.charAt(i)` gets the character
  // you may want to do a some jQuery thing here if you have that
  switch(s.charAt(i)) {
    case 'b':
      prev = drawCircle('b');
      if(link!='') {
         drawLink(link,prev);
         link = '';
      }
      break;
    case 'r':
      prev = drawCircle('r');
      if(link!='') {
         drawLink(link,prev);
         link = '';
      }
      break;
    case '-':
      link = prev;
      break;
  }
}