µ±Ç°Î»Ö㺠´úÂëÃÔ >> J2SE >> ͸¹ýÕýÔò±í´ïʽÌæ»»×Ö·û´®±¨ java.lang.StackOverflowError
  Ïêϸ½â¾ö·½°¸

͸¹ýÕýÔò±í´ïʽÌæ»»×Ö·û´®±¨ java.lang.StackOverflowError

Èȶȣº504   ·¢²¼Ê±¼ä£º2016-04-24 14:09:38.0
ͨ¹ýÕýÔò±í´ïʽÌæ»»×Ö·û´®±¨ java.lang.StackOverflowError
´ó¼Ò¿ÉÒÔÔËÐÐÏÂÃæÕâ¶Î²âÊÔ´úÂë¿´¿´,ÊDz»ÊÇ»áÅ׳öjava.lang.StackOverflowErrorÒì³£,Èç¹û°Ñstr³¤¶ÈËõ¼õһЩµ¹ÊÇ¿ÉÒÔÕý³£ÔËÐÐ,Èç¹ûÔÚÄãµÄÉÏûÓÐÅ׳öÒì³£,ÇëÔÙÔö¼ÓstrµÄ³¤¶ÈÊÔÊÔ

²âÊÔ´úÂë:
====================================

import   java.util.regex.Matcher;
import   java.util.regex.Pattern;

public   class   ProgramTest   {
public   static   void   main(String[]   args)   throws   Exception   {
String   str   =   "[quote=username]\r\n²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔ²âÊÔn[/quote]bbbbbbbb ";
String   re   =   "\\[quote=(.[^\\[]*)\\]((.|\\s)*)\\[\\/quote\\] ";
Pattern   pattern   =   Pattern.compile(re);
Matcher   matcher   =   pattern.matcher(str);

System.out.println(matcher.replaceAll(   " "   ));
}
}


------½â¾ö·½°¸--------------------
Ò»ÑùµÄ£¬stringÌ«³¤ÁË¡£
------½â¾ö·½°¸--------------------
str.indexOf( "quote ")
substring

ϸ½Ú¿ÉÒÔ×Ô¼º¿¼ÂÇ¡«¡«
------½â¾ö·½°¸--------------------
¼ÈÈ»Ó㤶ÈÏÞÖÆ,¾ÍÈÄ¿ªÂï:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) throws Exception {
int maxLen = 820;
String str = "[quote=username]\r\nn[/quote]bbbbbbbb ";
String re = "\\[quote=(.[^\\[]*)\\]((.|\\s)*)\\[\\/quote\\] ";
Pattern pattern = Pattern.compile(re);
int length = str.length() / maxLen;
String subStr = " ";
for (int i = 0; i <= length; i++) {
subStr = str.substring(i * maxLen, ((i+1)*maxLen > str.length())?str.length():(i+1)*maxLen);
Matcher matcher = pattern.matcher(subStr);
System.out.println(matcher.replaceAll( " "));
}
}
}
------½â¾ö·½°¸--------------------
public static void main(String[] args) {
¡¡¡¡String str = "[quote=username]a\r\n....n[/quote] bbbbbbbb ";¡¡¡¡¡¡¡¡
¡¡¡¡int start = -1;
¡¡¡¡int end = -1;
¡¡¡¡Pattern pattern = Pattern.compile( "\\[quote=(.[^\\[]*)\\] ");
¡¡¡¡Matcher matcher = pattern.matcher(str);
¡¡¡¡if(matcher.find()) {
¡¡¡¡¡¡¡¡start = matcher.end();
¡¡¡¡}
¡¡¡¡end = str.lastIndexOf( "[/quote] ");
¡¡¡¡if(start > -1 && end > -1) {
¡¡¡¡¡¡¡¡str = str.replace(str.substring(start, end), " ");
¡¡¡¡}
¡¡¡¡System.out.println(str);
}
------½â¾ö·½°¸--------------------
Èç¹û±ê¼ÇÒ²²»ÐèÒªµÄ»°ÉÔ΢¸Ä³É£º

if(matcher.find()) {
¡¡¡¡start = matcher.start();
}
end = str.lastIndexOf( "[/quote] ") + "/[quote] ".length();
  Ïà¹Ø½â¾ö·½°¸