返回具有唯一值的名称字符串

时间:2014-09-16 19:57:29

标签: javascript regex underscore.js

如何拆分此字符串并使用下划线仅保留唯一值?我确实需要在每个值之后使用br。

Input = 'John Doe<br> John Doe<br> Frank Watts<br> '

Expected Ouput = "John Doe<br> Frank Watts<br> '

到目前为止我尝试过的是使用

拆分字符串
str.split(' ') 

但这打破了姓名

3 个答案:

答案 0 :(得分:2)

使用下划线:

var str = 'John Doe<br> John Doe<br> Frank Watts<br>',
    result = _.uniq(str.split(/\s*<br>\s*/)).join('<br> '); // "John Doe<br> Frank Watts<br> "

答案 1 :(得分:1)

因此,如果您需要一个唯一的名称列表,则必须通过<br>将其切开,然后添加到一个唯一的集合中。我:

  var array = str.split('<br> '); // get a list of all the names
  var unique=array.filter(function(itm,i,array){
      return i==array.indexOf(itm);
  });

如果您想保留<br>,那么您可以在join('<br>')之后split

答案 2 :(得分:0)

从你的问题我不知道你想要什么,但如果你想分裂你的字符串你可以使用这个:

    var input = 'John Doe<br> John Doe<br> Frank Watts<br> '
    var arr = input.split(' ');
    console.log(arr[0]+' '+arr[1]+' '+arr[4]+' '+arr[5])