溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在java中利用正則替換img標簽中src值

發布時間:2021-05-19 15:38:58 來源:億速云 閱讀:490 作者:Leah 欄目:編程語言

怎么在java中利用正則替換img標簽中src值?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

代碼如下:

package com.junlenet.common.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HtmlUtils {
	/**
	 * 替換指定標簽的屬性和值
	 * @param str 需要處理的字符串
	 * @param tag 標簽名稱
	 * @param tagAttrib 要替換的標簽屬性值
	 * @param startTag 新標簽開始標記
	 * @param endTag 新標簽結束標記
	 * @return
	 * @author huweijun
	 * @date 2016年7月13日 下午7:15:32
	 */
	public static String replaceHtmlTag(String str, String tag, String tagAttrib, String startTag, String endTag) {
		String regxpForTag = "<\\s*" + tag + "\\s+([^>]*)\\s*" ;
		String regxpForTagAttrib = tagAttrib + "=\\s*\"([^\"]+)\"" ;
		Pattern patternForTag = Pattern.compile (regxpForTag,Pattern. CASE_INSENSITIVE );
		Pattern patternForAttrib = Pattern.compile (regxpForTagAttrib,Pattern. CASE_INSENSITIVE ); 
		Matcher matcherForTag = patternForTag.matcher(str);
		StringBuffer sb = new StringBuffer();
		boolean result = matcherForTag.find();
		while (result) {
			StringBuffer sbreplace = new StringBuffer( "<"+tag+" ");
		 Matcher matcherForAttrib = patternForAttrib.matcher(matcherForTag.group(1));
  	if (matcherForAttrib.find()) {
  		String attributeStr = matcherForAttrib.group(1);
  		matcherForAttrib.appendReplacement(sbreplace, startTag + attributeStr + endTag);
  	}
  	matcherForAttrib.appendTail(sbreplace);
  	matcherForTag.appendReplacement(sb, sbreplace.toString());
  	result = matcherForTag.find();
		}
		matcherForTag.appendTail(sb);   
		return sb.toString();
	}
 
 public static void main(String[] args) {
 	StringBuffer content = new StringBuffer();
 	content.append("<ul class=\"imgBox\"><li><img id=\"160424\" src=\"uploads/allimg/160424/1-160424120T1-50.jpg\" class=\"src_class\"></li>");
 	content.append("<li><img id=\"150628\" src=\"uploads/allimg/150628/1-15062Q12247.jpg\" class=\"src_class\"></li></ul>");
  System.out.println("原始字符串為:"+content.toString());
  String newStr = replaceHtmlTag(content.toString(), "img", "src", "src=\"http://junlenet.com/", "\"");
  System.out.println("  替換后為:"+newStr);
 } 
 
}

Java有哪些集合類

Java中的集合主要分為四類:1、List列表:有序的,可重復的;2、Queue隊列:有序,可重復的;3、Set集合:不可重復;4、Map映射:無序,鍵唯一,值不唯一。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女