我有一个像这样的字符串
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 。
由于
答案 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+\\)";
因为。*本质上是贪婪的,