Question

I need to extract a part of a string. My goal is to extract from this string:

217591953.1396968335.2.2.utmcsr=search_email_alerts|utmccn=(not set)|utmcmd=email

the content between utmcsr= and |

So the output would be : "search_email_alerts".

Était-ce utile?

La solution

var str = "217591953.1396968335.2.2.utmcsr=search_email_alerts|utmccn=(not set)|utmcmd=email";
var newStr1 = str.split("utmcsr=");
var newStr2 = newStr1[1].split("|");
var extractedStr = newStr2[0];

The variable extractedStr will be "search_email_alerts".

Autres conseils

Use regular expression like following:

var test = "217591953.1396968335.2.2.utmcsr=search_email_alerts|utmccn=(not set)|utmcmd=email";
var result = test.match("/utmcsr=([^|]*)\|/");
alert(result[1]); // result[1] is your desired string

var str = "217591953.1396968335.2.2.utmcsr=search_email_alerts|utmccn=(not set)|utmcmd=email";

match = str.match(/utmcsr=(.*?)\|/);

output = match[1];

var str = "217591953.1396968335.2.2.utmcsr=search_email_alerts|utmccn=(not set)|utmcmd=email"
var result = str.substring(str.indexOf("utmcsr=") + 7,str.indexOf("|"))

Result contains the desired text.

You can do that in two ways

  1. substring
  2. match

Here's how you can do it with regex:

var str= "217591953.1396968335.2.2.utmcsr=search_email_alerts|utmccn=(not set)|utmcmd=email";
var res = str.match(/^.*utmcsr=(.*)\|.*\|.*$/);
res[1]

Here you go -

var str = "217591953.1396968335.2.2.utmcsr=search_email_alerts|utmccn=(not set)|utmcmd=email";
var startIndex = str.indexOf("utmcsr=") + "utmcsr=".length;
var numOfCharsToExtract = str.indexOf("|") - startIndex;
var result = str.substring(startIndex, numOfCharsToExtract);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top