0

UI の問題:

ここに画像の説明を入力

\/Androidでシーケンスを置き換える方法は?

以下の置換メソッドを使用しますが、無効なエスケープ シーケンスが表示されます。

tempLabelForListView[i].replaceAll("\/", "")
4

1 に答える 1

7

パラメータとして受け取るString#replaceAllメソッドを使用する必要はありません。regexむしろ、メソッドを使用するだけで、別のバックスラッシュでString#replaceエスケープする必要があります。\また、文字列は不変であるため、置換された文字列をターゲット文字列に再割り当てする必要があり、置換は現在の文字列には影響せず、代わりに新しい文字列を返します: -

tempLabelForListView[i] = tempLabelForListView[i].replace("\\/", "");

メソッドについては、正規表現を使用するため、バックスラッシュString#replaceAllを 2 回エスケープする必要があります。一度だけ、一度だけ。したがって、それを機能させるには4 つのバックスラッシュが必要です: -JavaregexreplaceAll

tempLabelForListView[i] = tempLabelForListView[i].replaceAll("\\\\/", "");

しかし、それでも、ここでは必要ありません。

于 2013-02-07T15:59:26.003 に答える