Javascript 用破折号替换空格 var html=”“+title+””; document.write(title.replace(//g,“-”); html+='

Javascript 用破折号替换空格 var html=”“+title+””; document.write(title.replace(//g,“-”); html+=',javascript,Javascript,详细信息'; 我想用破折号替换标题空格。尝试标题。替换(/\s/g,“-”)。(/\s/是空格的正则表达式转义) 此外,请: var html = "<div>"+title+"<br/>"; document.write(title.replace(/ /g,"-")); html+= '<p><a href="go.aspx?title=' + title + '">Details<\/a></p></div&g

详细信息

'; 我想用破折号替换标题空格。

尝试
标题。替换(/\s/g,“-”)
。(
/\s/
是空格的正则表达式转义)

此外,请:

var html = "<div>"+title+"<br/>";
document.write(title.replace(/ /g,"-"));
html+= '<p><a href="go.aspx?title=' + title + '">Details<\/a></p></div>';
title=title.replace(/\s/g,“-”);
var html=”“+title+”;
// ...

调用
title.replace
不会更改标题,但会返回一个已替换值的字符串。您需要使用返回的值:

title = title.replace(/\s/g , "-");
var html = "<div>" + title + "</div>";
// ...
var html=”“+title+”
”; var newTitle=document.write(title.replace(//g,“-”); html+='详细信息

';

正则表达式很好,但只替换空格,而不是所有空格。

我发现replace函数中常用的正则表达式很难读懂,而且很容易忘记不引用正在搜索的字符串或省略/g来表示全局替换。对于像用破折号替换空格这样简单的操作,使用更容易理解的“拆分”和“联接”同样快速

var html = "<div>"+title+"<br/>";
var newTitle = document.write(title.replace(/ /g,"-"));
html+= '<p><a href="go.aspx?title=' + newTitle + '">Details<\/a></p></div>';

var str=“Tatwerat开发团队”;
str=str.replace(/\s+/g,'-');

document.write(str)
ehdv的答案可以让你达到90%的效果。我只是想澄清他建议的代码在您的代码中的位置,并且在评论中看起来并不正确

alert("this is a test".split(" ").join("-"));
var html=”“+title+”
”; 标题=标题。替换(/\s/g,“-”); html+='


title.replace(“”,“-”)
title.replace(“”,“-”)将只替换第一个空格。请看下面我的答案。我基本同意,但我建议移动标题。替换(/\s/g,“-”;到中间线。直观地说,我认为他们不希望在div中使用破折号,但他们希望在URL中使用破折号。请参阅我的答案,以获得澄清和我建议的修订代码块。感谢ehdv的贡献。
var html = "<div>" + title + "<br/>";
title = title.replace(/\s/g , "-");
html+= '<p><a href="go.aspx?title=' + title + '">Details<\/a></p></div>';
var html = "<div>" + title + "<br/>";
title = title.replace(/\s+/g , "-");
html+= '<p><a href="go.aspx?title=' + title + '">Details<\/a></p>
var html = "<div>" + title + "</div>";
title = title.replace(/\s/g , "-");
html+= '<p><a href="go.aspx?title=' + title + '">Details</a></p>