1

現在、特定の場所で文字列からフルストップを削除する方法を探しています。

2つの条件が満たされない場合にのみフルストップを削除するようにしたい;

   ピリオドの前に数字がありません。

   ピリオドの後に数字はありません。

私は現在、この正規表現を持っています

'#(?<!\d)\.(?!\d)#'

ただし、これは次のような文字列のフルストップを削除しません

'hello.1', '1.hello'

フルストップの前後に数字があるため、一致が失敗し、認識されないと推測しています。

一致してフルストップが正しく削除されるためには、先読みと後読みの両方を満たす必要があるようにするにはどうすればよいですか?

ありがとうございました。

編集

〜または〜フルストップの後に数字がない場合にのみ、フルストップを削除したい。したがって、文字列がそのような場合にのみ終止符が存在する可能性がありますが(a digit).(a digit)、他の状況では終止符が削除されます。

4

1 に答える 1

3

あなたはこれを行うことができます:

'#((?<!\d)\.|\.(?!\d))#'

ドットの前または後ろに数字以外がある場合は、ドットを削除します。

于 2012-06-20T03:16:39.430 に答える