javascript - 如何删除特定字符前后的空格?

标签 javascript jquery regex

我有4个案例:(我的重点是这部分:... *{anything}* ...)

var str = "this * is * a test";
var str = "this *is * a test";
var str = "this * is* a test";
var str = "this *is* a test";

我想要所有这些输出:

var newstr = "this *is* a test"; 

我怎样才能做到这一点?

<小时/>

注意:如果我可以对“*”、“`”、“~”、“_”等多个字符执行此操作,那就完美了。

最佳答案

我最初以为您想要替换后面跟着空格的星号。

使用替换函数

string.replace(/(\*+)[\t\n\r]*(.*?)[\t\n\r]*(\*+)/g,'$1$2$3')

分割

\*+ 星号默认匹配零个或多个字符。由于您正在寻找字面星号,因此必须使用反斜杠对其进行转义。使用 + 修饰符是因为我们要搜索一个或多个星号

\t* - 如上所述,星号代表零个或多个字符。在本例中,我们正在搜索空白字符

(.*?) - 匹配任何字符。 ? 标识符表示零或一。

[\t\n\r]* - 这会查找任何空白字符。可以简化为\s

/g - 全局标志,表示搜索所有实例。

$1-$9 - 这些是特殊的 JavaScript 正则表达式对象。

括号匹配捕获组,上面的示例中有三个。

此解决方案归功于 Adaneo。

关于javascript - 如何删除特定字符前后的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865706/

相关文章:

regex - Powershell - 拆分字符串

javascript - 如何在继承类的同一方法中使用在父类的 super 方法中声明的变量

javascript - JavaScript 中的动态实例化

javascript - 使用 focus() 了解当前聚焦的元素

python - 使用 python 在循环内正则表达式搜索非常慢

javascript - 如何检测后面没有另一个换行符的换行符?

javascript - 保存要在以后的动画帧中重绘的 <canvas> 内容?

javascript - 如何使用Jquery在div中加载页面时显示进度条

javascript - 在嵌套 jquery 数组中查找值

javascript - for循环使用img src时超出限制