繁体   English   中英

解析特殊格式的字符串

[英]Parsing A String Of A Particular Format

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

r-g-b g

要么

g-g g g

要么

b g-g

等等

基本上,字母确定显示哪个色环, -确定圆之间是否存在链接。

对于如何使用JS / jQuery / HTML开发有效的算法来实现此目的,我有些困惑。 有任何想法吗?

我不确定您要完成什么,但这是我的最佳猜测:

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 
}

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

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;
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM