JCHASE11
JCHASE11

Reputation: 3941

Remove string after predefined string

I am pulling content from an RSS feed, before using jquery to format and edit the rss feed (string) that is returned. I am using replace to replace strings and characters like so:

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

This works great. I am also trying to remove all text after a certain point. Similar to truncation, I would like to hide all text starting from the word "Example".

In this particular RSS feed, the word example is in every feed. I would like to hide "example" and all text the follows that word. How can I accomplish this?

Upvotes: 23

Views: 60589

Answers (4)

masukomi
masukomi

Reputation: 10892

I would like to hide all text starting from the word "Example"

A solution that uses the simpler replace WITH backreferences so as to "hide" everything starting with the word Example but keeping the stuff before it.

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. 

Upvotes: 2

patad
patad

Reputation: 9672

If you also want to keep "Example" and just remove everything after that particular word, you can do:

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

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

Upvotes: 13

VisioN
VisioN

Reputation: 145398

Though there is not enough jQuery, you even don't need it to remove everything after a certain word in the given string. The first approach is to use substring:

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

The second is a trick with split:

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

Upvotes: 52

nnnnnn
nnnnnn

Reputation: 150030

jQuery isn't intended for string manipulation, you should use Vanilla JS for that:

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

The .replace() method accepts a regular expression, so in this case I've used /example.*$/i which does a case-insensitive match against the word "example" followed by zero or more of any other characters to the end of the string and replaces them with an empty string.

Upvotes: 8

Related Questions