programing

String에서 %를 이스케이프하는 방법.포맷?

goodsources 2022. 7. 28. 00:04
반응형

String에서 %를 이스케이프하는 방법.포맷?

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 문을 포함하려면 어떻게 해야 합니까?

탈출하기 위해%, 그것을 2배로 할 필요가 있습니다.%%.

앞서 설명한 솔루션을 보완하려면 다음을 사용하십시오.

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

이것은 입력에서 이미 두 배가 된 %%를 대체하지 않는 더 강력한 regex 교체입니다.

str = str.replaceAll("(?:[^%]|\\A)%(?:[^%]|\\z)", "%%");

언급URL : https://stackoverflow.com/questions/5011932/how-to-escape-in-string-format

반응형