regex 如何在正则表达式中使用match而不是split来删除空格?[duplicate]

fykwrbwg  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(95)

此问题在此处已有答案

Split a string using whitespace in Javascript?(7个答案)
三个月前关门了。
我正在尝试使用javascript中的正则表达式删除字符串前后的空格。一个解决方案是用空字符替换所有空格。我想到了一个不同的解决方案,匹配字符串前后的所有非空格字符(我在单词之间匹配了1个空格)。由于某种原因,它不起作用,结果仍然包括空格。任何帮助将不胜感激!

let hello = "   Hello, World!  ";
let wsRegex = /(?<=\s*)\S*\s\S*/g; // Change this line
let result = hello.match(wsRegex); // Change this line

console.log(result);
mnemlml8

mnemlml81#

您可以使用命名组来获取字符串,而不需要开始和结尾白色。
下面是修改代码的示例:

let hello = "   Hello, World!     ";
let wsRegex = /^\s*(?<hello>.+\S)\s*$/m; // Change this line
let result = hello.match(wsRegex)?.groups?.hello; // Change this line

console.log(result);
7y4bm7vi

7y4bm7vi2#

请使用字符串#替换:

var repl = str.replace(/^\s+|\s+$|\s+(?=\s)/g, "");

如果使用匹配

let result = hello.match(/\S+/g);

相关问题