10

空白とピリオドを含む文字列を置き換える必要があります。私は次のコードで試しました:

String customerName = "Mr. Raj Kumar";

customerName = customerName.replaceAll(" ", "");
System.out.println("customerName"+customerName);

customerName = customerName.replaceAll(".", "");
System.out.println("customerName"+customerName); 

しかし、これは次の結果になります:

顧客名 Mr.RajKumar

顧客名

最初の SOP からは正しい顧客名を取得していますが、2 番目の SOP からは値を取得していません。

4

3 に答える 3

37

ドットをエスケープしないと、任意の文字に一致します。replaceAll()は最初のパラメーターを正規表現として扱うため、このエスケープが必要です。

customerName = customerName.replaceAll("\\.", "");

1 つのステートメントですべてを実行できます。

customerName = customerName.replaceAll("[\\s.]", "");
于 2012-12-29T08:59:34.437 に答える
6

期間を削除するためだけにコードでこれを使用します

customerName = customerName.replaceAll("[.]","");
于 2012-12-29T10:12:36.533 に答える
2

str.replace(".", "")を使用するだけで、出現するすべてのドットが置き換えられます。replace と replaceAll の違いは 1 つだけであることを覚えておいてください。つまり、後で正規表現を入力文字列として使用しますが、最初は単純な文字を使用します。順序。

于 2016-08-22T16:42:52.447 に答える