developer tip

자바에서 큰 따옴표 이스케이프

copycodes 2021. 1. 7. 08:08
반응형

자바에서 큰 따옴표 이스케이프


중복 가능성 :
Java에서 따옴표를 이스케이프하지 않고 문자열 리터럴을 작성하는 방법이 있습니까?

private static final String CREATE_TABLE_EXHIBITORS = "CREATE TABLE "users" ("_id" text PRIMARY KEY ,"name" text,"body" text,"image" text,"stand_id" text,"begin" long,"end" long,"changedate" long,"website" text,"facebook" text,"myspace" text,"twitter" text,"festivallink" text,"favorite" integer);";

이 쿼리가 Java에서 유효한 문자열이되기를 원한다고 가정 해 보겠습니다. 후행 슬래시가 앞에있는 모든 큰 따옴표를 이스케이프하도록 변환해야합니까?

e.g.  = "CREATE TABLE \"users"\

아니면 전체 쿼리를 한 번에 유효한 문자열로 만드는 더 빠른 방법이 있습니까? 나는 당신이 그것을하기 위해 전체 문자열 주위에 작은 따옴표를 사용할 수 있다고 생각했지만 그것도 작동하지 않습니다.


큰 따옴표를 백 슬래시로 이스케이프 처리하는 것이 Java에서이를 수행하는 유일한 방법입니다.

IntelliJ IDEA 와 같은 일부 IDE는 이러한 문자열을 문자열 리터럴에 붙여 넣을 때 자동으로 이스케이프를 수행합니다 (즉, 자바 문자열 리터럴을 둘러싼 큰 따옴표 사이).

또 다른 옵션은 런타임에 읽을 수있는 일종의 텍스트 파일에 문자열을 넣는 것입니다.


자바 사용 replaceAll(String regex, String replacement)

예를 들어, 따옴표에 대체 문자를 사용한 다음 해당 문자를 \"

String newstring = String.replaceAll("%","\"");

또는의 모든 인스턴스 \"\\\"

String newstring = String.replaceAll("\"","\\\"");

문자열 상수의 경우 백 슬래시를 통해 이스케이프하는 것 외에는 선택할 수 없습니다.

어쩌면 당신은 찾을 수 의 MyBatis 프로젝트 재미를. 큰 따옴표를 이스케이프 할 필요없이 XML 구성 파일에서 SQL 쿼리를 구체화 할 수있는 JDBC보다 얇은 계층입니다.


예, 모든 큰 따옴표는 백 슬래시로 이스케이프해야합니다.

참조 URL : https://stackoverflow.com/questions/6277944/escape-double-quotes-in-java

반응형