【问题标题】:Remove string "foo" and leading and trailing white space using a single regex使用单个正则表达式删除字符串“foo”以及前导和尾随空格
【发布时间】:2017-09-12 21:17:14
【问题描述】:

标题说明了一切

  • 单个正则表达式
  • 删除前导空格
  • 删除尾随空格

即。

"  fooHello World" => "Hello World"
"fooBing space in the middlefoo  " => "Bing space in the middle"
"  foo " => ""
" fooHellofoo  " => "Hello"

【问题讨论】:

  • 程序员节快乐!!

标签: javascript regex


【解决方案1】:

您可以使用trim() 删除前导/尾随空格。

您可以使用replace() 通过正则表达式定位foo 并将其删除。尝试运行下面的 sn-p:

const trimAndRemoveFoo = (str) => {
  return str.trim().replace(/foo/g, '');
}

// log trimAndRemoveFoo function with sample strings
console.log(trimAndRemoveFoo("  fooHello World"));
console.log(trimAndRemoveFoo("fooBing space in the middlefoo  "));
console.log(trimAndRemoveFoo("  foo "));
console.log(trimAndRemoveFoo(" fooHellofoo  "));

【讨论】:

    【解决方案2】:

    您可以将replace 用于正则表达式搜索,使用以下正则表达式/\W*foo\W*/g

    const strs = [
      "  fooHello World",
      "fooBing space in the middlefoo  ",
      "  foo ",
      " fooHellofoo  "
    ];
    
    const results = strs.map((str) => {
      return str.replace(/\W*foo\W*/g, '');
    });
    
    console.log(results)

    【讨论】:

    • 为什么降级了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 2015-11-15
    相关资源
    最近更新 更多