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 に答える