1. ホーム
  2. java

[解決済み] String.Formatで%をエスケープするには?

2022-03-19 02:45:26

質問

SQLクエリをstrings.xmlファイルに保存しているのですが、その際に String.Format を使用して、最終的な文字列をコードで構築します。 その SELECT 文では、このような感じで、ライクを使います。

SELECT Field1, Field2 FROM mytable WHERE Field1 LIKE '%something%'

これをフォーマットするために、'something' を %1$s に置き換えて、次のようになります。

SELECT Field1, Field2 FROM mytable WHERE Field1 LIKE \'%%1$s%\'

シングルクォートをバックスラッシュでエスケープしています。 しかし、%記号をエスケープすることができません。

strings.xmlファイルにlikeステートメントを含めるにはどうすればよいですか?

どのように解決するのですか?

エスケープするには % は、二重にする必要があります。 %% .