我有一句话(这是一个愚蠢的例句),如下所示:
I_like_to_program__.
我需要一个函数来使它看起来像这样:
I*like to program.
我写了这个表达式:
var myExpression = new RegExp("\\_", "g");
return myString.replace(myExpression, " ").trim();
那个输出:"I like to program."
- 我很接近。我只需要用*替换第一个空格,使其看起来像I*like to program.
答案 0 :(得分:8)
mystring.replace("_", "*")
.replace(/_/g, " ");
或者你可以像这样完全避免正则表达式:
mystring.replace("_", "*")
.split("_")
.join(" ");
答案 1 :(得分:3)
如果您不添加g
,则javascript的默认值仅替换为一个替换:
return myString.replace(/\__/, "").replace(/\_/, "*").replace(/\_/g, " ");
答案 2 :(得分:1)
我能想到的最简单的事情是分两步完成 - 用*替换第一个实例,然后再次迭代并用“”替换全局“
var myString = "I_LIKE_TO_PROGRAM";
var myExpression = new RegExp("\_");
myString = myString.replace(myExpression, "*").trim();
var newExpression = new RegExp("\_", "g");
alert(myString.replace(newExpression, " ").trim());
答案 3 :(得分:1)
var myString = "I_like_to_program__.";
var result = myString.replace(/\_/g, " ").replace(" ", "").replace(" ", '*');
alert(result);
答案 4 :(得分:1)
我首先用“”替换所有_替换,在我们这样做后我们将有程序。 所以在第二次替换我删除(程序。)这个空间,并在第三个替换我把*放在第一位。
<强>样本强>