如何检查数组中的@(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”迭代目录时检查文件是不是为符号链接