How to escape % in String.Format?


Question

I am storing a SQL query in my strings.xml file and I want to use String.Format to build the final string in code. The SELECT statement uses a like, something like this:

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

In order to format that I replace 'something' with %1$s so it becomes:

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

I escape the single quotes with the backslash. However I am not able to escape the % sign.

How can I include a like statement in my strings.xml file?

1
384
8/17/2018 9:19:03 PM

Accepted Answer

To escape %, you will need to double it up: %%.

816
7/11/2012 1:50:32 PM

To complement the previous stated solution, use:

str = str.replace("%", "%%");

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon