【问题标题】:Replacing part of a string with javascript?用javascript替换部分字符串?
【发布时间】:2009-06-23 05:06:05
【问题描述】:

假设我有一个如下所示的 URL:

http://www.mywebsite.com/param1:set1/param2:set2/param3:set3/

我已在我的 javascript 中将其设为变量,但现在我想将“param2:set2”更改为“param2:set5”或其他任何内容。如何抓取字符串的那部分并进行更改?

需要注意的一点是“param2...”在字符串中的位置以及“:”之后的字符数可以改变。我知道我可以使用 substring 从前面获取部分字符串,但我不知道如何从末尾或中间的任何地方抓取它。

【问题讨论】:

    标签: javascript string


    【解决方案1】:

    这个怎么样?

    >>> var url = 'http://www.mywebsite.com/param1:set1/param2:set2/param3:set3/';
    >>> url.replace(/param2:[^/]+/i, 'param2:set5'); 
    "http://www.mywebsite.com/param1:set1/param2:set5/param3:set3/"
    

    【讨论】:

      【解决方案2】:

      使用正则表达式 ;)

      url.replace(/param2:([\d\w])+/, 'param2:new_string')
      

      【讨论】:

      • +1 - 但是冒号后面不能有非数字、非单词字符,但在下一个正斜杠之前?
      • 好吧,这只是一个如何处理这个问题的简单示例。用户应该根据自己的需要采用它:)
      【解决方案3】:
      var key = "param2";
      var newKey = "paramX";
      var newValue = "valueX";
      
      var oldURL = "http://www.mywebsite.com/param1:set1/param2:set2/param3:set3/";
      
      var newURL = oldURL.replace( new RegExp( key + ":[^/]+" ), newKey + ":" + newValue);
      

      【讨论】:

        【解决方案4】:

        您可以将正则表达式传递给 javascript 中的 match() 和 replace() 函数。

        【讨论】:

          猜你喜欢
          • 2011-09-04
          • 2021-03-01
          • 2016-07-07
          • 1970-01-01
          • 2021-03-25
          • 2012-07-17
          • 2021-04-19
          • 1970-01-01
          相关资源
          最近更新 更多