我想用br。
替换句子的第二个空格我试过了,但它正在删除其余部分。
var title = "My Title Needs Brace".split(" ").slice(0, 2).join(" ");
答案 0 :(得分:2)
"My Title Needs Brace"
.split(' ')
.reduce(function (str, part, i) {
return str + (i === 2 ? '<br/>' : ' ') + part
});
// "My Title<br/>Needs Brace"
首先,我们接受字符串并拆分。我们将" "
用作我们的分隔符
"My Title Needs Brace".split(' ')
// ["My", "Title", "Needs", "Brace"]
其次,我们将 reduce 将数组合并为一个字符串
["My", "Title", "Needs", "Brace"]
.reduce(function (str, part) { return str + ' ' + part }, '');
// "My Title Needs Brace"
为什么减少而不是加入? 减少过度连接的优点是它允许我们使用一个函数,这将使我们对如何连接回字符串的每个部分进行细粒度的控制
现在,剩下的就是用<br/>
替换第二个空格,
为此,我们将使用reduce函数的第三个参数,它代表索引,并询问:
这是第3部分吗?使用<br/>
否则,请使用" "
"My Title Needs Brace"
.split(' ')
.reduce(function (str, part, i) {
return str + (i === 2 ? '<br/>' : ' ') + part
});
// "My Title<br/>Needs Brace"
请注意,这是字符串&#34; part&#34;的索引,而不是它们之间的空格,因此索引是2而不是1。
答案 1 :(得分:1)
尝试以下方法:
met2()
&#13;
答案 2 :(得分:0)
我想用br。
替换句子的第二个空格
这样做的简单方法是将"<br/>"
添加到第二个元素。
这是守则。
$(document).ready(function(){
var title = "My Title Needs Brace".split(" ");
title[1] = title[1]+"<br/>";
var newstr = title.join(" ");
$("#textd").html(newstr);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="textd">
</div>
答案 3 :(得分:0)
可能会有所帮助:
var title = "My Title Needs Brace".split(" ");
t1=title [0]; My
t2=title[1]; // Title
t3=title[2]; // Needs
t4=title[3]; // Brace
你可以在这里画任何东西:
var htmlString = '' + t1 +''+ t2 + '<br />' + t3 +''+ t4 + '';
$('Anywhere').append(htmlString);
答案 4 :(得分:0)
您可以在不拆分字符串的情况下执行此操作:
var title = 'My Title Needs Brace'.replace(/( .*?) /, '$1<br>');
此处,String.replace
将RegExp
和字符串作为参数。正则表达式匹配从第一个空格到第二个空格的所有内容,保留除capturing group之外的第二个空格以外的所有内容。字符串replaces the entire match with the contents of the capturing group,后跟'<br>'
。由于捕获组不包括第二个空格,因此实际上只替换第二个空格。