jQuery从字符串中删除字符串

时间:2011-02-23 18:05:53

标签: javascript jquery string

我正在尝试从jQuery中的字符串中删除字符串。

这是字符串:

username1, username2 and username3 like this post.

我想从此列表中删除username1,。 我尝试使用.split(', ')将列表添加到数组中但是我收到了错误。我假设错误是因为不是每个单词后面都有逗号。

我总是希望从列表中删除第一项。 username1只是一个示例用户名。如果他们喜欢这篇文章,那么第一项将始终是当前登录用户的用户名。

我试过了:

  var updated_list = $('#post_like_list').html().replace('username1, ', '');
  $('#post_like_list').html(updated_list);

但是没有更新列表。但是,在使用.text()而不是.html()时,它会更新列表,但我在列表中有链接,我需要保留这些链接。

5 个答案:

答案 0 :(得分:144)

非常确定你只想要普通的旧替换功能。像这样使用:

myString.replace('username1','');

我想如果你想删除尾随的逗号,请改为:

myString.replace('username1,','');

编辑:

这是您的网站特定代码:

jQuery("#post_like_list-510").text().replace(...) 

答案 1 :(得分:15)

要添加nathan gonzalez答案,请注意您需要在调用replace函数后分配替换对象,因为它不是mutator函数:

myString = myString.replace('username1','');

答案 2 :(得分:9)

如果您只想删除“username1”,可以使用简单的替换。

name.replace("username1,", "")

或者你可以像你提到的那样使用拆分。

var name = "username1, username2 and username3 like this post.".split(",")[1];      
$("h1").text(name);

jsfiddle示例

答案 3 :(得分:1)

我认为文本“username1”只是最终将成为实际用户名的占位符。假设,

  • 如果用户名允许有空格,那么只需在第一个空格或逗号之前搜索所有内容(从而找到“u1喜欢这个”和“u1,u2和u3”这样的“)。
  • 如果 允许有空格,那么将每个用户名包装在自己的span标签服务器端之前可能会更容易,然后再将其发送到客户端,然后只需使用span标签。

答案 4 :(得分:1)

相当确定没有人按照您的确切条款回答您的问题,您希望将其用于动态文字

var newString = myString.substring( str.indexOf( "," ) +1, myString.length );

它需要从第一个逗号到结尾的子字符串