다음 코드가 있습니다.
try {
String clipStrg = (String) Toolkit.getDefaultToolkit()
.getSystemClipboard()
.getData(DataFlavor.stringFlavor);
if ("Test I want to match".matches(clipStrg))
{
System.out.println(clipStrg);
}
} catch (UnsupportedFlavorException | IOException ex) {
Logger.getLogger(Toolframe.class.getName()).log(Level.SEVERE, null, ex);
}
"\"
클립 보드에 백 슬래시 ( ) 가 있으면 다음 오류가 발생합니다.
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
이 문제의 원인은 무엇입니까?
백 슬래시는 정규식에 대한 제어 문자이므로 패턴을 이스케이프하거나 인용해야합니다.
예를 들면 :
if ("Test I want to match".matches(Pattern.quote(clipStrg)))
String
s를 비교 하는 경우 equals
대신 사용하십시오.
if ("Test I want to match".equals(clipStrg))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다