jQuery取代句子的第二空格

时间:2017-12-30 11:12:19

标签: javascript jquery

我想用br。

替换句子的第二个空格

我试过了,但它正在删除其余部分。

var title = "My Title Needs Brace".split(" ").slice(0, 2).join(" ");

5 个答案:

答案 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)

尝试以下方法:

&#13;
&#13;
met2()
&#13;
&#13;
&#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.replaceRegExp和字符串作为参数。正则表达式匹配从第一个空格到第二个空格的所有内容,保留除capturing group之外的第二个空格以外的所有内容。字符串replaces the entire match with the contents of the capturing group,后跟'<br>'。由于捕获组不包括第二个空格,因此实际上只替换第二个空格。