从某事物取代

时间:2017-01-23 05:15:11

标签: php jquery regex

祝你有个美好的一天。

我有一些网址

 /notused/purge/page-two.php

 /notused/purge/page-three.php

 /notused/purge/page-four.php 

我想从“ - ”替换为“。”意味着在“ - ”之后,任何东西都会变成两三个或四个,直到“。”。

我会在我的代码中使用该网址。

我正在使用 jquery 来实现这一目标。

我们可以这样做吗?

提前致谢。

4 个答案:

答案 0 :(得分:2)

您可以使用String#replace方法。

var str1 = '/notused/purge/page-two.php';
var str2 = '/notused/purge/page-three.php';
var str3 = '/notused/purge/page-four.php';

function update(str, rep) {
  return str.replace(/-.+\./, '-' + rep + '.');
  // or return str.replace(/-[^.]+\./, '-' + rep + '.');
}

console.log(update(str1, 'three'));
console.log(update(str2, 'two'));
console.log(update(str3, 'four'));

答案 1 :(得分:0)

尝试此操作会将' - '替换为'。'

 <script>
  $(document).ready(function(){
    var str = "/notused/purge/page-two.php";
    var test=  str.split('-').join('.');
     alert(test);
  });
 </script>

更改的网址会被提醒。

答案 2 :(得分:0)

请在下面查看您只需添加指向链接数组的链接,您将获得一个新结果,请查看以下链接或代码:

https://jsfiddle.net/fatehjagdeo/g2qzyjef/

<script>
    var links=['/notused/purge/page-two.php','/notused/purge/page-three.php','/notused/purge/page-four.php'];
    var newArray=[];

    for(var i=0;i<links.length;i++){
      var element=links[i].replace("-", "."); 
      newArray.push(element);
    }
    console.log(newArray);

    </script>

答案 3 :(得分:0)

我从您的问题中得到的是,您想要一种方法来替换 /notused/purge/page-two.php 网址的“two”

因此,为此,您可以使用正则表达式的替换方法。我将在下面添加一个片段。

  

我正在使用jquery来实现这一目标。

Jquery是 DOM遍历和操作和动画的优秀JavaScript库,但是如果你想做一些字符串操作,那么正则表达式是你最好的朋友。

所以,当你要

时,正则表达式非常方便
  • 搜索
  • 匹配字符串中的模式
  • 替换

在某些字符串中。

好的,对于您的情况,此代码段将起作用,如果不知道我们可以根据您的要求创建新的Regex。

let regex = /-(.*?)\./g;
let strList = [
  `/notused/purge/page-one.php`,
  `/notused/purge/page-two.php`,
  `/notused/purge/page-three.php`
];
let replaceText = "something";
let match;

for(var i in strList) {
  newURL = replaceInURL(strList[i]);
  console.log(newURL);
}

function replaceInURL(str) {
  var replaceWith = 'something';
  return str.replace(regex, '-' + replaceWith + '.');
}