1

ステートメントから末尾の小数点/ドットを削除する必要があります。以下は声明です

ABC paid 10.25 RS confirmed. from bank XYZ 20125722. on 23-12-2012

ステートメントから末尾の小数/ドットを削除したい。小数点/ドットを削除した後、次のようになります

ABC paid 10.25 RS confirmed from bank XYZ 20125722 on 23-12-2012

10.25の小数点を削除する必要はありませんが、他の場所では削除する必要があることに注意してください。Javaでどうすればできますか?

4

5 に答える 5

1

Javaでは、次のように、文字列に対してreplaceAll(String pattern、String replace)メソッドを使用するだけです。

String result = "ABC paid 10.25 RS confirmed. from bank XYZ 20125722. on 23-12-2012".replaceAll("\\.\\s+"," ") ;
于 2012-04-18T04:00:05.540 に答える
0

それで、あなた.は数字にないものと一致させたいですか?否定先読みと呼ばれる方法を使用できます。

"\\.(?![0-9])"

.これは、数字の前の NOT に一致します。

于 2012-04-18T05:30:08.273 に答える
0

使用する必要があるのは \\.\\s+ です。これは、ドットの後に多くのスペースまたは 1 つのスペースが含まれる可能性があるためです。

次のコード:

String result = "ABC paid 10.25 RS confirmed. from bank  XYZ 20125722. on 23-12-2012"
               .replaceAll("\\.\\s+", " ");
于 2012-04-18T05:20:38.107 に答える
0

あなたの正規表現は

\.(?=\s|$)

は、ドットの後に空白または文字列の末尾が続く場合に、ドットに一致することを意味します。(?=\s|$)は、後続の空白または文字列の末尾があることを確認する肯定的な先読みですが、これと一致しないため、再度挿入する必要はなく、空の文字列に置き換えるだけです。

ここでRegexrを参照してください

あなたのJavaのために

String res = "ABC paid 10.25 RS confirmed. from bank XYZ 20125722. on 23-12-2012".replaceAll("\\.(?=\\s|$)", "");
于 2012-04-18T05:30:55.573 に答える
0

使用できる正規表現は/\.\S+/、Perl または Perl 正規表現をサポートする言語です。それ以外の場合/\.[ ^I]/、「^I」はタブ文字です。それを空に置き換えます。

それが役立つことを願っています。

于 2012-04-18T03:55:11.253 に答える