2013-06-07 5 views
2

캐리지 리턴을 따옴표로 묶고 큰 따옴표로 바꾸고 싶습니다. 예를 들어, 내가있는 경우 :캐리지 리턴 및 따옴표를 자바의 정규 표현식으로 표현

Hello World 
"Hello World" 

내가 할 결과를 싶습니다

Hello World"Hello World" 

이 내가 위에서 무엇을 문자열 텍스트는 내 시도입니다 :

String adjusted = text.replaceAll("[\n][\"], "\""); 

그러나, 내 IDE는 이것을 받아들이지 않습니다. 도움에 감사드립니다!

답변

0

replaceAll 대신 replace을 사용하여 정규 표현식과 일치하지 않고 대신 리터럴을 일치시킬 수 있습니다. 이 시스템 라인 분리 운영을 사용하려면이 방법을 원하는 경우

String adjusted = text.replace("\n\"", "\""); 

당신은 (Windows에서 실제 CR에 대한 \r에 대한

String adjusted = text.replace(System.lineSeparator()+"\"", "\""); 
2
String adjusted = text.replaceAll("(?m)\r?\n\"", "\""); 

(?m)는, 다중 회선 사용을위한 사용한다 CR + LF).

+3

수정, 당신은''수정이 필요하지 않습니다 제외 (m을?). 그가 사용하지 않는 앵커 ('^'와'$')의 동작 만 변경합니다. –

+0

@AlanMoore 감사합니다. 감사합니다. –

0

당신은 같은 플랫폼 불가지론 방법으로 그것을 수행해야합니다

String newline = System.getProperty("line.separator"); 
String newStr = str.replaceAll(newline, "\"");