如何用jQuery和Regex选择第二个单词..?

Tri*_*rip 8 regex jquery

假设正则表达式是最好的方法,我想选择第一个单词:

<div class="name">Bob Marley</div>
Run Code Online (Sandbox Code Playgroud)

并用它来替换这个div标签中的第二个单词:

<div class="message">Hey friend, how are you?</div>
Run Code Online (Sandbox Code Playgroud)

所以最终结果等于:

<div class="message">Hey Bob, how are you?</div>
Run Code Online (Sandbox Code Playgroud)

更新

这是我实际代码的混合体.我注意到,当它运行时,它只是将jquery文本放入我的文本区域而不是实际执行该函数.这可能是因为我从需要val()的输入中提取而不是像上面示例所示的div标签中的文本.

 $(".me_signup .name").bind("mouseup keyup", function(){
   $(this).siblings('.message').text(function(i,txt) {
        var name = $(this).val().split(' ')[0];
        return txt.replace('friend', name);
    });
 });
Run Code Online (Sandbox Code Playgroud)

这将创建一个文本区域,并在其中写入

function (i, txt) {
    var name = $(this).val().split(" ")[0];
    return txt.replace("friend", name);
}
Run Code Online (Sandbox Code Playgroud)

use*_*716 9

你应该能够没有正则表达式.

示例: http ://jsfiddle.net/2R5kA/

$('div.message').text(function(i,txt) {
    var name = $('div.name').text().split(' ')[ 0 ];
    return txt.replace( 'friend', name );
});
Run Code Online (Sandbox Code Playgroud)

如果名称之前可能存在一些前导空格,那么首先使用jQuery的$.trim()方法.

示例: http ://jsfiddle.net/2R5kA/1/

$('div.message').text(function(i,txt) {
    var name = $.trim($('div.name').text()).split(' ')[0];
    return txt.replace( 'friend', name );
});
Run Code Online (Sandbox Code Playgroud)