Sting 字符串替换参数

实现原理: hutool工具包

static Stringformat(String strPattern, Object... argArray)

格式化字符串
此方法只是简单将占位符 {} 按照顺序替换为参数
如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
例:
通常使用:format("this is {} for {}", "a", "b") =》 this is a for b
转义{}: format("this is \\{} for {}", "a", "b") =》 this is \{} for a
转义\: format("this is \\\\{} for {}", "a", "b") =》 this is \a for b

实战:

场景:用一些第三方接口的api 有些会让你填些参数(拿微信支付举例)

如图:

 

我们可以把这些api写成一个枚举

/**
  *微信支付 api调用接口
  * @author zhangjunrong
  * @date 2022/5/9 19:57
  */
public enum WxApiType {
    /** 下单API */
    CREATE_ORDER("https://api.mch.weixin.qq.com/v3/pay/transactions/app"),

    /** 查询支付订单API ONE{}=>outTradeNo – 商户订单号 系统生 TOW{}=>mchId商户的商户号,由微信支付生成并下发。 */
    QUERY_CREATE_ORDER("https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/{}?mchid={}"),

    /** 查询退款订单API {}=>outRefundNo 商户退款单号*/
    QUERY_REFUND_ORDER("https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/{}"),

    /** 关闭订单API {}=>outTradeNo 商户订单号*/
    CLOSE_ORDER("https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/{}/close"),

    /** 申请退款API {}=>outTradeNo 商户订单号*/
    REFUND_ORDER("https://api.mch.weixin.qq.com/v3/refund/domestic/refunds");
    private final String value;

    WxApiType(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }
}

 然后在调用的时候:

 @Test
    void testPay() throws JsonProcessingException {
        String format = StrFormatter.format(WxApiType.QUERY_CREATE_ORDER.getValue(), "12334344", "223443443wd");
        System.out.println(format);
    }

结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新生代农民工-小王八

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值