2

每当一个字符串包含一个大写字母后跟一个句点时,我想用大写字母替换大写字母和句点。

Today MR. Johnson walked to the mail box.
=> Today MR Johnson walked to the mail box.

William SR. won the race.
=> William SR won the race.

我尝试使用以下方法完成此操作gsub

MyText = "William SR. won the race."
MyText = MyText.gsub(/[A-Z]\./,**I DON'T KNOW WHAT TO PUT HERE**]

我可以匹配句点后面的大写字母,但我不知道如何用句点前面的大写字母替换我的匹配项。

4

2 回答 2

7

另一种没有环视和使用捕获组的方法:

MyText = MyText.gsub(/([A-Z])\./,'\1')
于 2013-06-02T22:08:14.667 回答
5

你应该用积极的眼光来匹配它,并用什么来代替它。

MyText = "William SR. won the race."
MyText = MyText.gsub(/(?<=[A-Z])\./, '')

这是Rubular 上的一个示例。gsub!如果您知道要进行替换而不是制作副本,则可以使用。

于 2013-06-02T22:06:42.620 回答