gpt4 book ai didi

javascript - 在 JavaScript 中使用正则表达式删除元字符周围的空格

转载 作者:行者123 更新时间:2023-12-02 20:23:45 25 4
gpt4 key购买 nike

尝试删除非字母数字字符周围的任何空格,而不删除该字符,例如默认情况下的 /\s*(\W)\s*/g

有没有办法只使用 .replace() 来定位空格?

例如:

var regex = "/\s*(\W)\s*/g";
var text = "Words : \" text docs\"";
var text = text.replace(regex , "");
console.log(text)

预期文本:“单词:”文本文档”

类似于 remove white spaces between special characters and words python但在 JavaScript 中

最佳答案

您应该记住,\W 匹配任何不是 ASCII 字母、数字或 _ 的“非单词”字符。 \W,在 JS 正则表达式中,等于 [^A-Za-z0-9_]。因此,它也匹配您需要删除的空白。为了能够仅匹配非空白非单词字符,您需要将 \W 替换为 [^\w\s] 模式。

所以,剩下的就是用 replacement backreference 替换匹配项为第 1 组值,即 JS 中的 $1:

text = text.replace(/\s*([^\w\s])\s*/g , "$1")

请参阅regex demo

JS 演示:

console.log("Some - text +=@!#$#$^%* here .        ".replace(/\s*([^\w\s])\s*/g , "$1"))

关于javascript - 在 JavaScript 中使用正则表达式删除元字符周围的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60569314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com