如何从javascript中的字符串中删除单词数组?

至宝弧

我有一个可以从字符串中删除单词的函数。它是 :

  var removeFromString = function(oldStr, fullStr) { 
    return fullStr.split(oldStr).join(''); 
  };

我这样使用它:

 console.log( removeFromString("Hello", "Hello World") ); // World
 console.log( removeFromString("Hello", "Hello-World") ); // -World

但是主要的问题是:

 var str = "Remove one, two, not three and four"; 

在这里,我们必须删除“一个”,“两个”和“四个”。这可以通过以下方式完成:

var a = removeFromString("one, two,", str); // Remove not three and four
var b = removeFromString("and four", a); // Remove not three
console.log(b); // Remove not three

在上面的示例中,我不得不两次使用该函数。我希望它是这样的:

 var c = removeFromString(["one, two," , "and four"], str); // Remove not three
 console.log(c); // Remove not three

是的,我实际上要升级removeFromString函数!我怎样才能做到这一点 ?

代码疯子

您可以join从数组动态使用和构建正则表达式,并替换匹配的值

function removeFromString(arr,str){
  let regex = new RegExp("\\b"+arr.join('|')+"\\b","gi")
  return str.replace(regex, '')
}

console.log(removeFromString(["one, two," , "and four"],"Remove one, two, not three and four" ));
console.log(removeFromString(["one" , "and four"],"Remove one, two, not three and four" ));
console.log(removeFromString(["Hello"], "Hello World") )


为了覆盖单词匹配可以包含元字符的情况,您可以通过这种方式扩展上面的示例

function escape(s) {
    return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
};

function removeFromString(arr, str) {
  let escapedArr = arr.map(v=> escape(v))
  let regex = new RegExp("(?:^|\\s)"+escapedArr.join('|') + "(?!\\S)", "gi")
  return str.replace(regex, '')
}

console.log(removeFromString(["one, two,", "and four"], "Remove one, two, not three and four"));
console.log(removeFromString(["one", "and four"], "Remove one, two, not three and four"));
console.log(removeFromString(["Hello"], "Hello World"))
console.log(removeFromString(["He*llo"], "He*llo World"))
console.log(removeFromString(["Hello*"], "Hello* World"))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查字符串是否包含单词数组中的整个单词(jquery,javascript)

来自分类Dev

jQuery替换字符串中的单词数组

来自分类Dev

underscore.js基于单词数组从字符串中删除文本

来自分类Dev

如何计算DataFrame中字符串中的单词数?

来自分类Dev

如何计算文本(字符串)中的单词数?

来自分类Dev

如何计算文本(字符串)中的单词数?

来自分类Dev

计算字符串中的单词数

来自分类Dev

将字符串中的单词数组存储在R中的全名列表中

来自分类Dev

如何从字符串中删除单词?

来自分类Dev

计算字符串中的长度和单词数

来自分类Dev

从数组中包含的字符串中删除单词

来自分类Dev

从 MySQL 中的字符串数组中删除重复的单词

来自分类Dev

如何在Bash中计算字符串中的单词数

来自分类Dev

如何在Oracle SQL中计算定界字符串中的单词数

来自分类Dev

如何从用户输入中计算文本字符串中的单词数

来自分类Dev

如何在Linq中按与数组匹配的单词数对字符串列表进行排序

来自分类Dev

如何在Linq中按与数组匹配的单词数对字符串列表进行排序

来自分类Dev

从字符串数组中删除重复的单词

来自分类Dev

如何从字符串数组中删除字符串?

来自分类Dev

如何使用ColdFusion从字符串中删除单词或字符

来自分类Dev

如何从字符串中删除特殊字符单词?

来自分类Dev

如何从python中的字符串中删除整个单词?

来自分类Dev

如何从字符串中删除字典中的相应单词?

来自分类Dev

如何在不使用数组的情况下删除字符串中的重复单词?

来自分类Dev

Javascript-使用.replace从字符串中删除单词“ and”

来自分类Dev

如何拆分字符串以获取字符串中的最后一个单词或两个单词,但不知道字符数或结尾词数?

来自分类Dev

如何删除javascript中的字符串

来自分类Dev

如何将字符串中的各个单词放入javascript数组中?

来自分类Dev

如何删除PHP字符串中的重复单词

Related 相关文章

  1. 1

    检查字符串是否包含单词数组中的整个单词(jquery,javascript)

  2. 2

    jQuery替换字符串中的单词数组

  3. 3

    underscore.js基于单词数组从字符串中删除文本

  4. 4

    如何计算DataFrame中字符串中的单词数?

  5. 5

    如何计算文本(字符串)中的单词数?

  6. 6

    如何计算文本(字符串)中的单词数?

  7. 7

    计算字符串中的单词数

  8. 8

    将字符串中的单词数组存储在R中的全名列表中

  9. 9

    如何从字符串中删除单词?

  10. 10

    计算字符串中的长度和单词数

  11. 11

    从数组中包含的字符串中删除单词

  12. 12

    从 MySQL 中的字符串数组中删除重复的单词

  13. 13

    如何在Bash中计算字符串中的单词数

  14. 14

    如何在Oracle SQL中计算定界字符串中的单词数

  15. 15

    如何从用户输入中计算文本字符串中的单词数

  16. 16

    如何在Linq中按与数组匹配的单词数对字符串列表进行排序

  17. 17

    如何在Linq中按与数组匹配的单词数对字符串列表进行排序

  18. 18

    从字符串数组中删除重复的单词

  19. 19

    如何从字符串数组中删除字符串?

  20. 20

    如何使用ColdFusion从字符串中删除单词或字符

  21. 21

    如何从字符串中删除特殊字符单词?

  22. 22

    如何从python中的字符串中删除整个单词?

  23. 23

    如何从字符串中删除字典中的相应单词?

  24. 24

    如何在不使用数组的情况下删除字符串中的重复单词?

  25. 25

    Javascript-使用.replace从字符串中删除单词“ and”

  26. 26

    如何拆分字符串以获取字符串中的最后一个单词或两个单词,但不知道字符数或结尾词数?

  27. 27

    如何删除javascript中的字符串

  28. 28

    如何将字符串中的各个单词放入javascript数组中?

  29. 29

    如何删除PHP字符串中的重复单词

热门标签

归档