java - 用特殊字符替换 & 符号的正则表达式模式

标签 java regex for-loop ampersand

我需要将 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 循环中,您是否尝试将 & 替换为 # ?你的论点已经改变了。

关于java - 用特殊字符替换 & 符号的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20888571/

相关文章:

java - 将二维字符数组转换为字符串

sql - 正则表达式甲骨文

javascript - 如何将多个可能的正则表达式值与给定字符串进行比较

javascript - 将对象键值附加到 <li>

ios - 由于 Swift 中的空值,For 循环未执行

java - 需要帮助了解程序的执行

java - 如何在java中查找文本中的名称实体

java - 从 NiFi 中的 Java SDK 调用时,Splunk 抛出 HTTP 401 未授权错误

Java String.replaceAll 根据模式追加前缀和后缀

java - 匹配可能为 double 或不是 double 的可能负数