0

私はこの問題を解決しようとしてきました.replaceAllメソッドについて少し調査しましたが、正規表現を使用しているようです. しかし、「。」を含む正規表現は聞いたことがありません。キャラクター。これは私が使用しているコードです:

System.out.println(parsed[1]);
myStatus = parsed[1].replaceAll("...", " ");
System.out.println("new: " + myStatus);
status.setText(myStatus);

出力結果は次のとおりです。

古い...文字列 新しい:

4

2 に答える 2

1

"..."リテラル文字列(3 つのドット)を置き換える場合は、次のいずれかを行います。

  • use replace("...", " ")、正規表現を使用しない
  • use replaceAll("\\.{3}", " ")、これは正規表現でリテラルドットを指定する方法です

使用する必要がない限りreplaceAll()(呼び出している実装で使用されているため)、使用しますreplace()

編集:

ありがとう、ルイ \\.{3} \\.\\.\\.(ドッ!)よりもシンプルです

于 2012-12-17T01:05:35.893 に答える
0

あなたの呼び出しが実際に行っていることは、3 文字のグループをスペースに置き換えることです。したがって、文字列"old...string"は 4 つのスペースになります。ドットは定義済みの文字であるため、ドットをエスケープするか、文字クラス 量指定子を定義する必要があります。

何かのようなもの

myStatus = parsed[1].replaceAll("[.]{3}", " ");

注:ここで Java の正規表現をテストできます。

于 2012-12-17T01:05:54.433 に答える