Skip to content Skip to sidebar Skip to footer

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"