次のコードを見てください。
String comment = "1)FCR pick up in Hong Kong2)Local charges will be paiy in Hong Kong & in HK$.3)Booking:virginiawong@fahkco.com.hk4)FCR&DOC:emilywu@fahkco.com.hkTel:00852-23021977Fax:00852-2730217Transaction865320submittedVirginiaWong(T1281954U005) and Status is INCMP on 10-JUN-11 11.28.45.764386 PM -05:00";
//comment = comment.replaceAll("\\)", "\\\\)");
//comment = comment.replaceAll("\\(", "\\\\(");
if(comment == null || comment.length() < 100)
{
System.out.println();
}
String[] strArray = comment.split(" ");
for (int i = 0; i < strArray.length; i++)
{
if(strArray[i].length() > 100)
{
int iter = strArray[i].length() / 100 ;
int count = 100 ;
int initCount = 0 ;
String strReplace = null;
for(int j =0 ; j< iter ; j++)
{
strReplace = strArray[i].substring(initCount ,count);
String strToReplace = strReplace + "\n" ;
comment = comment.replaceAll(strReplace,strToReplace);
//comment = comment.replaceAll("\\)", "\\\\)");
//comment = comment.replaceAll("\\(", "\\\\(");
//comment = comment.replaceAll("\\\\", "");
System.out.println(comment);
System.out.println(comment.contains("\n"));
initCount = count; //+1 ;
count = count +100 ;
}
}
}
}
実行すると、次の例外が発生します。
スレッド"main"の例外java.util.regex.PatternSyntaxException :
インデックス4の近くで一致しないクロージング')'
:00852-2
私の理解から、私は括弧'('、')'をエスケープする必要があります、私はこれをしようとしました(コードのコメント部分を見てください)例外はありませんでしたが、文字列に追加している改行は表示されません現れる。