Check If String Ends With
I want to check if a string ends with - v{number} So for example hello world false hello world - v2 true hello world - v false hello world - v88 true Not
Solution 1:
Just use this without checking anything else in the beginning
- v\d+$
This way you make sure it ends with - v
followed by at least one digit. See it live in https://regex101.com/r/pB6vP5/1
Then, your expression needs to be:
var patt = newRegExp("- v\\d+$");
As stated by anubhava in another answer:
- No need for
/
- Requires double escaping for
\d
.
var str = 'hello world - v15';
var patt = newRegExp("- v\\d+$");
var res = patt.test(str);
console.log(res);
Solution 2:
This is a solution that achieves the same results without a Regex. Worth giving it a try.
functionstringEndsWithVersionNum(string)
{
var parts = string.split('- v');
if(parts[0] !== string) //if the string has '- v' in it
{
varnumber = parts[parts.length -1].trim();//get the string after -vreturn !isNaN(number) && number.length > 0;//if string is number, return true. Otherwise false.
}
returnfalse;
}
Please use like so:
stringEndsWithVersionNum('hello world - v32')//returns true
stringEndsWithVersionNum('hello world - v'); //returns false
stringEndsWithVersionNum('hello world'); //returns false
Post a Comment for "Check If String Ends With"