Javascript jquery在第一个空格后的跨度

Javascript jquery在第一个空格后的跨度,javascript,jquery,tags,Javascript,Jquery,Tags,我有三个字,我想在第一个空格后加上一个空格 hello world 变成: hello <span>world</span> hello <span>world again</span> 变成: hello <span>world</span> hello <span>world again</span> 再次向世界问好 以下是我的JavaScript代码: $( "#main-nav

我有三个字,我想在第一个空格后加上一个空格

hello world
变成:

hello <span>world</span>
hello <span>world again</span>
变成:

hello <span>world</span>
hello <span>world again</span>
再次向世界问好
以下是我的JavaScript代码:

 $( "#main-nav li a" ).each(function( index ) {
   $(this).html( $(this).text().replace(/([\S]*)\s(.*)/, "$1 <span>$2</span>") );
}); 
$(“主导航a”)。每个(功能(索引){
$(this).html($(this).text().replace(/([\S]*)\S(.*)/,“$1$2”);
}); 

您可以使用一些正则表达式:

text = text.replace(/([\S]*)\s(.*)/, "$1 <span>$2</span>");
text=text.replace(/([\S]*)\S(.*)/,“$1$2”);
如果
text
hello world
,那么上面的代码会将其转换为
hello world
可能更容易理解(对我来说是肯定的)

  • 对空白字符使用find方法,获取字符串中的第一个位置
  • 获取从索引0到特定位置的第一个子字符串
  • 从指定位置获取子字符串到string.length并将其包装
  • 再次合并两个字符串

  • 这些话是从哪里来的?你能给我们看一下代码以便更好地理解吗?@sQVe-你说得对。我没注意到!隐马尔可夫模型。。它仅与最后一个
    \s
    匹配<第一次匹配的代码>\S(除
    \S
    )也可以正常工作。请参阅我的编辑。
    text=text.replace(/(.\s)+(.*)/,“$1$2”)是我认为最干净的解决方案。