20

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

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

这很好用。我也试图在某个点之后删除所有文本。与截断类似,我想隐藏以“示例”开头的所有文本。

在这个特定的 RSS 提要中,每个提要中都有单词示例。我想隐藏"example",所有文字都跟在那个词后面。我怎样才能做到这一点?

4

4 回答 4

45

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

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

第二个是一个技巧split

var new_str = str.split("Example")[0];
于 2012-11-29T21:04:02.720 回答
9

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

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

// will output: aaaa1111?bbb&222:Example
于 2014-12-18T19:38:40.287 回答
7

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

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

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

于 2012-11-29T21:03:01.153 回答
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. 
于 2015-05-11T20:54:31.833 回答