需要删除两个符号之间的空格

时间:2019-01-10 17:50:10

标签: javascript regex

需要删除两个冒号之间的空格。因此 ActiveSheet.Shapes.Range(Array("Button 27")).Select Selection.Delete ActiveSheet.Shapes.Range(Array("Button 28")).Select Selection.Delete ActiveSheet.Shapes.Range(Array("Button 29")).Select Selection.Delete ActiveSheet.Shapes.Range(Array("Button 30")).Select Selection.Delete ActiveSheet.Shapes.Range(Array("Check Box 33")).Select Selection.Delete Application.DisplayAlerts = False Sheets("Shipping").Delete Application.DisplayAlerts = True Application.DisplayAlerts = False Sheets("Job Intake Form").Delete Application.DisplayAlerts = True Application.DisplayAlerts = False Sheets("Summary Pricing").Delete Application.DisplayAlerts = True 的输出为: test :。我得到它来检测::之间的所有内容,但现在我需要它仅与空白匹配。这是匹配所有内容的正则表达式::test:

5 个答案:

答案 0 :(得分:2)

尝试捕获冒号和replace()

/\s*(:)\s*/gi

演示

var str = `fbflb : vfkvbfkvb : otjtjb : hih igvjyfv ugukgu ugug `

var rgx = /\s*(:)\s*/gi;

var res = str.replace(rgx, '$1');

console.log(res);

答案 1 :(得分:1)

尝试一下

": test :".replace(/: *(.*?) *:/g,":$1:")

let a = ": test :".replace(/: *(.*?) *:/g,":$1:")

console.log(a);

如果您只想从字符串中删除空格,则只需使用

": test :".replace(/ /g,'')

let a = ": test :".replace(/ /g,'')

console.log(a);

答案 2 :(得分:0)

使用“替换并捕获”组

let str = ': test :'

let op = str.replace(/(:)\s+(.*?)\s+(:)/g, "$1$2$3")
let op1 = str.replace(/:(.*?):/g,':$1:' )

console.log(op);
console.log(op1)

答案 3 :(得分:0)

以下正则表达式将从字符串中删除所有空格字符。 \ s表示任何“空格”类型的字符,包括制表符。 'g'标志将执行多个匹配。

let text = ': test :'
let textWithoutSpaces = text.replace(/\s/g, '');
// textWithoutSpaces === ':test:'

答案 4 :(得分:0)

使用

var s = " test : test : test";
console.log(
  s.replace(/:[^:]+:/g, function (m) { return m.replace(/\s+/g, ''); })
)

详细信息

  • /:[^:]+:/g-匹配所有以:开头,然后具有1个以上字符的子字符串,除了::
  • m是找到的匹配文本,它通过replace方法传递给回调方法
  • m.replace(/\s+/g, '')删除该匹配项内的所有1+个连续的空格字符,此后,返回文本并将其粘贴回结果中。