js 实现动态替换 占位符 和取context

var MessageFormat = function(str){
    var args = [].splice.call(arguments,1);

//因为aruguments是个伪数组,没有数组的splice方法,所以,我们要用call给arguments只想一个aplice的方法,这样我们//就可以截取到 arguments后面的参数了
    return str.replace(/\{([^}])\}/g,function(index,value){
        return args[value];

//下面我们有那个了replace,利用正则将我们捕获到的占位符,替换掉
    })
}

 

//取url中的context

var str ="http://my.tianji.com/dashboard/777";
aa = str.match(/https?:\/\/[^/]+\/([^/]+)/);
console.log(aa[1])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java中的正则表达式和字符串替换方法实现URL中的占位符替换。例如,可以使用String类中的replace方法将占位符替换为实际值。具体实现可以参考以下代码示例: ```java import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UrlPlaceholder { public static void main(String[] args) { String url = "https://www.example.com/{path}/?id={id}"; Map<String, String> params = new HashMap<>(); params.put("path", "test"); params.put("id", "123"); String replacedUrl = replaceUrlParams(url, params); System.out.println(replacedUrl); } public static String replaceUrlParams(String url, Map<String, String> params) { String replacedUrl = url; for (String key : params.keySet()) { String value = params.get(key); String placeholder = "\\{" + key + "\\}"; Pattern pattern = Pattern.compile(placeholder); Matcher matcher = pattern.matcher(replacedUrl); if (matcher.find()) { replacedUrl = matcher.replaceAll(value); } } return replacedUrl; } } ``` 在上述代码中,我们首先定义了一个包含占位符的URL和一个包含实际参数的Map。然后,我们编写了一个replaceUrlParams方法来将URL中的占位符替换为实际参数值。在该方法中,我们首先循环遍历所有的参数,并使用正则表达式查找URL中的占位符。如果找到了占位符,则使用replace方法将其替换为实际参数值。最后返回替换后的URL。 ### 回答2: 在Java中,实现URL中占位符替换功能可以使用正则表达式或字符串替换的方法。 方法一:使用正则表达式 ``` String url = "https://api.example.com/{id}/info"; String id = "123"; // 使用正则表达式替换占位符 String replacedUrl = url.replaceAll("\\{id\\}", id); System.out.println(replacedUrl); ``` 这里使用`replaceAll`方法,并结合正则表达式`\\{id\\}`来匹配URL中的占位符`{id}`,然后用替换字符串`id`来替换占位符。 方法二:使用字符串替换 ``` String url = "https://api.example.com/{id}/info"; String id = "123"; // 使用字符串替换占位符 String replacedUrl = url.replace("{id}", id); System.out.println(replacedUrl); ``` 这里使用`replace`方法来替换URL中的占位符,将占位符字符串`{id}`替换为`id`。 以上两种方法都可以实现URL中占位符替换的功能,具体选择哪种方法决于实际需求和编码习惯。 ### 回答3: 使用Java算法实现URL中占位符替换功能可以借助字符串的replace方法。具体步骤如下: 1. 定义一个方法,接受两个参数:一个是待替换的URL,另一个是需要替换占位符和对应的值的映射关系。 2. 遍历映射关系,对于每个占位符和值,使用replace方法将URL中的占位符替换为对应的值。 3. 返回替换后的URL。 示例代码如下: ```java public class URLPlaceholderReplacement { public static String replaceURLPlaceholder(String url, Map<String, String> placeholderValues) { for (Map.Entry<String, String> entry : placeholderValues.entrySet()) { String placeholder = "{" + entry.getKey() + "}"; String value = entry.getValue(); url = url.replace(placeholder, value); } return url; } public static void main(String[] args) { String url = "https://example.com/user/{userId}/profile"; Map<String, String> placeholderValues = new HashMap<>(); placeholderValues.put("userId", "123"); String replacedUrl = replaceURLPlaceholder(url, placeholderValues); System.out.println(replacedUrl); // 输出结果为:https://example.com/user/123/profile } } ``` 在这个示例中,我们定义了一个`replaceURLPlaceholder`方法,并传入待替换的URL和占位符和值的映射关系。然后,我们遍历映射关系,将URL中的占位符替换为对应的值。最后,我们返回替换后的URL,并在`main`方法中进行了测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值