簡體   English   中英

正則表達式模式用特殊字符替換與符號

[英]Regex pattern to replace ampersand with special character

我需要將https://9S&Re替換為https://9S#Re以便避免拆分邏輯。 我的目標是獲取鍵為“ user_image”,值獲取為"https://9S&Re" 但是,當我將split與'&'一起使用時,會給我錯誤的結果。 因此,我正在嘗試使用正則表達式模式,該模式將檢查&*&之間是否存在等於號,這表示查詢值之一中有一個&符號。 任何幫助都非常感謝。

import java.nio.charset.Charset;
    import java.util.HashMap;
    import java.util.List;

    import org.apache.http.NameValuePair;
    import org.apache.http.client.utils.URLEncodedUtils;

    public class OAuthTest {

        public static void main(String[] args) {
            try {
                //HashMap paramHashMap=new HashMap();           
                List<NameValuePair> args2= URLEncodedUtils.parse("tool=canvas&tool_guid=8314&user_image=https://9S&Re&launch_presentation_document_target=iframe", Charset.forName("UTF-8"));
                for (NameValuePair arg:args2)
                    System.out.println(arg.getName()+"="+arg.getValue().replaceAll("#","&"));

            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }

在for循環中,您是否要用#替換&? 您的論點已切換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM