- public static void main(String[] args)
- {
- String a = "<p> </p><p>不能正确理解具有相反意义的量,<p> </p>分不清运入、运出的意义,而错选B.</p><p> </p><p> </p><p> </p>";
- System.out.println(a);
- System.out.println(parseAnys(a,"<p> </p>"));
- }
- /*
- * 字符串递归处理 去掉字符串开头和末尾存在的无效字符串
- *
- * param content:待处理字符串 invalidStr:需要剔除的字符串(只剔除开头、末尾,中间的保留)
- */
- public static String parseAnys(String content,String invalidStr){
- String beginWithP = invalidStr + ".*";
- String endWithP = ".*" + invalidStr;
- Pattern beginPattern = Pattern.compile(beginWithP);
- Matcher beginMatcher = beginPattern.matcher(content);
- boolean isBeginWithP = beginMatcher.matches();
- Pattern endPattern = Pattern.compile(endWithP);
- Matcher endMatcher = endPattern.matcher(content);
- boolean isEndWithP = endMatcher.matches();
- if(!isBeginWithP && !isEndWithP){
- return content ;
- }else{
- if(isBeginWithP){
- content = content.replaceFirst(invalidStr, "");
- }
- if (isEndWithP) {
- content = content.substring(0,content.lastIndexOf(invalidStr));
- }
- return parseAnys(content,invalidStr);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/2101201511586.html
来源: http://www.codesnippet.cn/detail/2101201511586.html