0

我正在做一个java脚本替换为:

var featureTitle;
featureTitle = row.cells[1].text();
if (!featureTitle.indexOf('*') != -1)
{
    featureTitle = featureTitle.replace('*', '');
}

if (!featureTitle.indexOf('*') != -1)需要在这里检查吗?

或更换会照顾它?

4

4 回答 4

0

替换将在第一次出现“*”时起作用。如果没有,则不会替换任何内容,因此不需要“如果”

于 2013-09-11T10:29:38.337 回答
0

这是为您引用的JSFiddle

if (!featureTitle.indexOf('*') != -1){...}

不是强制放置的,可以.replace()直接做

var featureTitle;
featureTitle = row.cells[1].text();
featureTitle = featureTitle.replace('*', '');
于 2013-09-11T10:30:05.017 回答
0

replace如果星号不存在,则不会执行任何操作,因此在没有检查的情况下调用是安全的。

说到这一点,检查有一个错误,导致整个代码行为不正确:

if (!featureTitle.indexOf('*') != -1) // what's that ! in front doing?

因为!featureTitle.indexOf('*')总是trueor false,所以这个条件总是会成功(两个布尔值比较不等于-1)。

于 2013-09-11T10:30:07.260 回答
0

不需要那个 if 语句。我认为 .replace() 会处理它(如果*存在它将替换它,否则不采取行动)。如果要替换*字符串中的所有内容,请使用\g全局属性。

featureTitle = featureTitle.replace(/*/g,'');
于 2013-09-11T10:32:56.720 回答