JS:删除所有以特定字符开头的字符串

时间:2018-03-27 11:40:09

标签: javascript arraylist

我有一个包含名字的数组。其中一些以点(。)开头,其中一些在中间或其他地方有点。我需要删除仅以dot开头的所有名称。我寻求帮助以获得更好的JavaScript方式。

var myarr = 'ad, ghost, hg, .hi, jk, find.jpg, dam.ark, haji, jive.pdf, .find, home, .war, .milk, raj, .ker';
var refinedArr = ??

3 个答案:

答案 0 :(得分:3)

您可以使用过滤功能,您可以使用项目[0]访问每个单词的第一个字母。你需要先拆分字符串。



var myarr = 'ad, ghost, hg, .hi, jk, find.jpg, dam.ark, haji, jive.pdf, .find, home, .war, .milk, raj, .ker'.split(", ");
var refinedArr = myarr.filter(function(item) {
  return item[0] != "."
});

console.log(refinedArr)




答案 1 :(得分:0)

使用filterstartsWith

let myarr = ['ad', 'ghost', 'hg', '.hi', 'jk'];
let res = myarr.filter(e => ! e.startsWith('.'));
console.log(res);

答案 2 :(得分:0)

您可以使用RegEx \B\.\w+,? ?并替换为空字符串。

  • \B匹配非字词

  • \.匹配点

  • \w+匹配一个或多个单词char

  • ,?匹配01 ,

  • [space]?匹配01 [space]

<强>演示:

const regex = /\B\.\w+,? ?/g;
const str = `ad, ghost, hg, .hi, jk, find.jpg, dam.ark, haji, jive.pdf, .find, home, .war, .milk, raj, .ker`;
const subst = ``;

// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);

console.log('Substitution result: ', result);