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