使用jQuery替换字符串中的子字符串

时间:2014-12-13 07:49:10

标签: jquery

我有一个像这样的字符串

var str = "sin(30)+sin(40)-sin(50)+cos(10)/sin(20)";

字符串格式可能会改变。

我需要的是,我必须使用sin

更改所有temp

结果应该是这样的

温度+ TEMP-温度+ COS(10)/温度

我尝试了什么:

if (str.indexOf("sin") >= 0){
  var find = "sin(.*)";
  var re = new RegExp(find, 'g');
  res = str.replace(re, "temp");
}

但这不给出解决方案。我使用的变量find不正确。我需要你的帮助。请给 我的解决方案。我使用 jQuery

由于

2 个答案:

答案 0 :(得分:0)

您需要.*的非贪婪版本,您可以通过添加?

来制作

您可以匹配sin\(.*?\)并将其替换为temp。请注意,必须使用反斜杠转义()

var str = "sin(30)+sin(40)-sin(50)+cos(10)/sin(20)";
str = str.replace(/sin\(.*?\)/g,"temp");
console.log(str);

答案 1 :(得分:0)

使用正则表达式:

var find = "sin\\(\\d+\\)";

因为。*本质上是贪婪的,