2013-04-11 53 views
0

我有一個包含多個條目的數組。其中一些在開始時包含@。這是一個數組的例子:如何檢查數組中的@(at),並在檢查後刪除此符號

if(linesArray[i] === '@'){ 
    $('#test').append('<li class="string_with_at">'+linesArray[i]+'</li>'); 
    }else{ 
    $('#test').append('<li class="string_no_at">'+linesArray[i]+'</li>'); 
    } 

我的問題是

some string 
@another string 
@one more string 
the best string 
string with [email protected] 

驗證和編組我使用的這部分代碼(僅@檢查現在):

  1. 如何我可以檢查@排隊開始第一組嗎?
  2. 如何從結果(「禮」 + linesArray +「/李」)刪除這個符號 - 5月,只留下類明白,這是一個@

回答

1

怎麼樣:

if(linesArray[i][0] === '@') { //checking the first symbol 
    //remove first element from result 
    $('#test').append('<li class="string_with_at">'+linesArray[i].substring(1)+'</li>'); 
} 
else { 
    $('#test').append('<li class="string_no_at">'+linesArray[i]+'</li>'); 
} 
+0

出於兼容性原因,最好使用'.charAt(0)'而不是'[0]' – TheBrain 2013-04-11 19:13:01

+0

並不令人驚訝,IE7不支持它。感謝您的評論! – 2013-04-11 19:36:59

+0

令人驚歎!非常感謝! – 2013-04-12 08:48:13

1

函數刪除 '@' 如果在位置0,並返回新格式的字符串:

removeAt = function(s){ 
    if(s.charAt(0) == '@') 
     return s.substring(1); 
    return s; 
} 
0

這應該做的伎倆:

function addElement (val) { 
    var match = val.match(/^(@)(.*)/), 
     at = match[1], 
     str = match[2], 
     li = $('<li/>').html(str) 

    li.addClass('string_' + (at ? 'with' : 'no') + '_at'); 

    $('#test').append(li); 
} 

linesArray.forEach(addElement); 
相關問題