You can use Regex to match a specific text.
Like this for example
var str = '#anotherdata=value#iamlookingforthis=226885#id=101&start=1';
var value = str.match(/#iamlookingforthis=(\d+)/i)[1];
alert(value); // 226885
Explanation from Regex101:
#iamlookingforthis=
matches the characters #iamlookingforthis=
literally (case insensitive)
- 1st Capturing Group
(\d+)
\d+
matches a digit (equal to [0-9]
)
+
Quantifier — Matches between one and unlimited times, as many times as possible, giving back as needed (greedy)
- Global pattern flags
i
modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z]
)
See
Another alternative would be to split the string. You could split it by #|?|&
.
var str = '#anotherdata=value#iamlookingforthis=226885#id=101&start=1';
var parts = str.split(/[#\?&]/g); // split the string with these characters
// find the piece with the key `iamlookingforthis`
var filteredParts = parts.filter(function (part) {
return part.split('=')[0] === 'iamlookingforthis';
});
// from the filtered array, get the first [0]
// split the value and key, and grab the value [1]
var iamlookingforthis = filteredParts[0].split('=')[1];
alert(iamlookingforthis); // 226885