2016-08-09 4 views
-3

ドット(。)を削除したいが、このパターンをどのように書くことができるのか分からない。DOTを取り除く正規表​​現

私はいくつかのテキスト行を持っています。

E-1-2-3.1-0-0またはE-1-2-0-2.5-0またはE-1-2-0-3.5-0

しかし、私の中にテキストは2.5や56.7のような数字です。私はこれらのドットを削除したくないのは小数です。

行がある場合は、ドットを削除する必要があります。 -5.2-は内部ありDOTを持っていたりすることはできません-52-

E-1-2-3.1-0-0ますE-1-2-31-0-0
E-1-2-0-2.5-0ますE-1-2-0-25-0
E-1-2-0-3.5-0ますE-1-2-0-35-0

になります。

このパターンに関するヘルプはありますか?

答えて

1

あなたが唯一の正の前後参照してみてください、ダッシュ桁と桁ダッシュに囲まれたドットを一致させる必要がある場合:

(?<=-\d)\.(?=\d-) 

デモ:https://regex101.com/r/nY7fA9/1


あなたが囲まれたドットを一致させる必要がある場合ダッシュ - 数字と数字 - ダッシュ(任意の正の桁数)の場合、lookbehindは多くの正規表現のフレーバで量限定子をサポートしていないので、問題はより複雑です。この場合、あなたは、通常の正規表現でプレフィックスと一致し、すぐに\Kとの一致をリセットすることがあります。

-\d+\K\.(?=\d+-) 

デモ:https://regex101.com/r/nY7fA9/2

+0

あなたが答えるありがとうございます。 しかし、数値が変化してもそれを捕まえないようにする。たとえば、E-1-2-53.1-0-0またはE-1-2-0-35862.5-0またはE-1-2-0-23.5-0 これはどのようにしてすべてのbeetwenをキャッチできますか。答え –

+0

@HusRKozkを持つ任意の数字は、そんなにメイトに感謝...- ...それは.... Sposiboボリショイ:) 江藤otlichnoを働いています... –

+0

を更新ドット –

関連する問題