预定义字符串后删除字符串

时间:2012-11-29 21:01:07

标签: javascript replace

在使用jquery格式化和编辑返回的rss feed(字符串)之前,我从RSS提要中提取内容。我正在使用replace替换字符串和字符,如下所示:

var spanish = $("#wod a").text();
var newspan = spanish.replace("=","-");
$("#wod a").text(newspan);

这很有效。我也试图在某一点之后删除所有文本。与截断类似,我想隐藏从“示例”一词开始的所有文本。

在这个特定的RSS提要中,单词示例位于每个提要中。我想隐藏"example",并将所有文字隐藏在该字之后。我怎么能做到这一点?

4 个答案:

答案 0 :(得分:26)

虽然没有足够的jQuery,但你甚至不需要它来删除给定字符串中某个单词之后的所有内容。第一种方法是使用substring

var new_str = str.substring(0, str.indexOf("Example"));

第二个是split

的技巧
var new_str = str.split("Example")[0];

答案 1 :(得分:5)

jQuery不适用于字符串操作,您应该使用Vanilla JS

newspan = newspan.replace(/example.*$/i, "");

.replace() method接受一个正则表达式,所以在这种情况下我使用了/example.*$/i,它对单词“example”进行了一个不区分大小写的匹配,后跟零个或多个其他任何字符字符串的结尾并用空字符串替换它们。

答案 2 :(得分:4)

如果您还想保留“示例”并删除该特定单词后的所有,您可以执行以下操作:

var str = "aaaa1111?bbb&222:Example=123456",
    newStr = str.substring(0, str.indexOf('Example') + 'Example'.length);

// will output: aaaa1111?bbb&222:Example

答案 3 :(得分:1)

  

我想隐藏所有文字,从“示例”

开始

使用更简单的替换WITH反向引用的解决方案,以“隐藏”从单词Example开始的所有内容,但保留其前面的内容。

var str = "my house example is bad"
str.replace(/(.*?) example.*/i, "$1")     // returns "my house"
// case insensitive. also note the space before example because you 
// probably want to throw that out.