如何检查数组中的@(at),并在检查后删除此符号[重复]

Posted

技术标签:

【中文标题】如何检查数组中的@(at),并在检查后删除此符号[重复]【英文标题】:How to check @ (at) in array, and remove this symbol after checking [duplicate] 【发布时间】:2013-04-04 02:47:09 【问题描述】:

我有一个包含多个条目的数组。其中一些在开头包含@。这是一个数组的例子:

some string  
@another string  
@one more string  
the best string  
string with email@mail.com

我使用这部分代码进行验证和分组(目前只检查@

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

我的问题是:

    如何检查第一组的@ 行开头? 如何从结果中删除此符号 ('li'+linesArray+'/li') - 可能只留下类以了解它是 @

【问题讨论】:

【参考方案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>');

【讨论】:

出于兼容性原因,最好使用.charAt(0) 而不是[0] IE7 不支持它并不奇怪。谢谢你的评论! 太棒了!非常感谢!【参考方案2】:

如果在位置0,删除'@'并返回新格式化的字符串的功能:

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

【讨论】:

【参考方案3】:

这应该可以解决问题:

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

【讨论】:

以上是关于如何检查数组中的@(at),并在检查后删除此符号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从数组中删除一个元素后如何检查

检查文本区域是不是包含符号并删除符号后的所有内容

单击检查按钮时如何删除/删除按钮文本?

Node.js:使用“fs”迭代目录时检查文件是不是为符号链接

当我按下要检查的项目中的按钮以删除此项目时,如何自动选择正确的列表框项目?

检查列表中的单词并在 pandas 数据框列中删除这些单词