4

我如何用字母“_”替换所有空格字符,除了字符“a”和“b”之间的空格,比如“a b”。

// this is what I have so far to save someone time (that's a joke)
var result:String = string.replace(/ /g, "_");

哦,这是在 JavaScript 中。

4

2 回答 2

4

用这个:

var result:String = string.replace(/([^a]) | ([^b])/g, "$1_$2");

对上述内容的简化解释是它替换了一个空格:

  1. 前面有一个字符a
  2. 后跟一个字符b

注意:要将正则表达式概括为包括制表符和换行符,请使用\s,如下所示:

var result:String = string.replace(/([^a])\s|\s([^b])/g, "$1_$2");
于 2013-01-06T02:49:37.157 回答
2

Try this regex:

/(?!a)\s(?!b)/g

Edit: This is not the best solution as KendallFrey pointed out.

于 2013-01-06T00:17:10.543 回答