如何在Javascript中删除除正则表达式单词之间的空格以外的所有空格

如何在Javascript中删除除正则表达式单词之间的空格以外的所有空格,javascript,regex,removing-whitespace,Javascript,Regex,Removing Whitespace,这里,我期望的输出是“hello world!”,这是Cecy”,这意味着删除字符串开头和结尾的空格,以及非单词字符前后的空格。 我现在的输出是“hello world!”,我是Cecy,我不知道谁应该删除“,”之前和之后的空格,同时保持“o”和“w”(以及其他单词字符之间)之间的空格 p、 我觉得我可以在这里使用group,但不知道是谁您正在寻找的方法是trim() 您可以使用正则表达式 ^\s处理开头的空格 \s$处理末尾的空格 (?yuo可以使用以下命令 var str = "

这里,我期望的输出是“hello world!”,这是Cecy”,这意味着删除字符串开头和结尾的空格,以及非单词字符前后的空格。 我现在的输出是“hello world!”,我是Cecy,我不知道谁应该删除“,”之前和之后的空格,同时保持“o”和“w”(以及其他单词字符之间)之间的空格


p、 我觉得我可以在这里使用group,但不知道是谁

您正在寻找的方法是trim()

您可以使用正则表达式

  • ^\s
    处理开头的空格

  • \s$
    处理末尾的空格


  • (?yuo可以使用以下命令

     var str = "       Hello World!       ";
    console.log(str.trim())
    
    方法1

    • \B
      匹配
      \B
      不匹配的位置
    • \s+
      匹配一个或多个空白字符
    const r=/\B\s+|\s+\B/g
    康斯特s=‘你好,世界!’,我是塞西`
    
    console.log(s.replace(r.))
    几乎,OP特别要求删除除单词之间的所有空格,举了一个
    world!,this
    ->
    world!,this
    的例子,这将使您的解决方案失败。这不会删除
    之间的空格。
    这并没有回答他特别为regexAnyway提出的问题,
    >/^\s |\s$|(?仅适用于Chrome 62+,因为lookbehinds很少支持JavaScript。有关更多信息,请参阅。只有当您使用的软件包像我试图理解
    \B\s+\s+\B
    工作的原因时,这才有效。它不应该破坏它在过程中匹配的
    \B
    吗?@Zenoo
    \B
    \B
    是零长度的断言。简单地说,它们匹配的是位置,而不是字符。好吧,我真的觉得自己很笨……谢谢你的澄清:D@Zenoo不用担心:)正则表达式很复杂,我不明白…(?!\b\s+\b)\s+,对我来说,它意味着如果前面没有b\s+\b,则匹配空格。而\b\s+\b意味着前后都有单词的空格。这是如何工作的
     var str = "       Hello World!       ";
    console.log(str.trim())
    
    str.replace(/ /g,'')
    
    \B\s+|\s+\B