´ó¼Ò¿ÉÒÔÔËÐÐÏÂÃæÕâ¶Î²âÊÔ´úÂë¿´¿´,Ê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();