我将 SQL 查询存储在我的 strings.xml 文件中,并且我想使用 String.Format
在代码中构建最终字符串。 SELECT
语句使用类似这样的语句:
SELECT Field1, Field2 FROM mytable WHERE Field1 LIKE '%something%'
为了格式化我用 %1$s 替换 'something' 所以它变成:
SELECT Field1, Field2 FROM mytable WHERE Field1 LIKE \'%%1$s%\'
我用反斜杠转义单引号。但是我无法逃脱 % 符号。
如何在我的 strings.xml 文件中包含 like 语句?
String.format()
慢,但您可以考虑改用 MessageFormat()
。
要转义 %
,您需要将其加倍:%%
。
要补充上述解决方案,请使用:
str = str.replace("%", "%%");
这是一个更强大的正则表达式替换,它不会替换输入中已经加倍的 %% 。
str = str.replaceAll("(?:[^%]|\\A)%(?:[^%]|\\z)", "%%");