user_1234
user_1234

Reputation: 761

Remove unwanted matching text from string and get required value using js

I have string it contain unwanted html tags and text, so I want to remove unwanted matching text and get my required values:

Code:

var mystring = "<!-- html-text: 143 --> value 1  <!-- /html-text --><!-- html-text: 144 --> | <!-- /html-text --><!-- react-text: 145 --> value 3 <!-- /html-text --><!-- html-text: 146 -->, <!-- /html-text --><!-- html-text: 147 --> value 2 <!-- /html-text --><!-- html-text: 148 --> <!-- /html-text --><!-- html-text: 149 -->value 4 <!-- /html-text -->";
mystring = mystring.replace('<!-- html-text: 143 -->','');

console.log('str'+mystring);

Required output:

value 1  value 2 value 3 value 4

Upvotes: 1

Views: 101

Answers (1)

code
code

Reputation: 6319

You can do this with regex:

var mystring = "<!-- html-text: 143 --> value 1  <!-- /html-text --><!-- html-text: 144 --> | <!-- /html-text --><!-- react-text: 145 --> value 3 <!-- /html-text --><!-- html-text: 146 -->, <!-- /html-text --><!-- html-text: 147 --> value 2 <!-- /html-text --><!-- html-text: 148 --> <!-- /html-text --><!-- html-text: 149 -->value 4 <!-- /html-text -->";
mystring = mystring.replace(/<!--.*?-->/g,'');

console.log(mystring);

Regex explanation:

  1. <!--...--> Marks the opening and ending of an HTML comment
  2. .* Matches any character zero or more times
  3. ? Remove "greedy matching" (match the least possible instead of most)
  4. g Global, meaning to replace all occurrences instead of just one

Upvotes: 1

Related Questions