Sunday, February 12, 2012

Splitting a string using a regexp that matches more than one character


I am trying to achieve the following for both @ or # .




function split(val) {
return val.split(/@/);
}

function extractLast(term) {
return split(term).pop();
}



Any help really appreciated!

2 comments:

  1. Try

    val.split(/@|#/g);


    The | is the regex equivalent of or. The g flag makes the expression match globally (ie all instances)

    See this fiddle

    As Pointy notes the g flag isn't necessary here. It is however necessary if wanting to find all matches within a string in JS regular expressions.

    ReplyDelete
  2. you could do

    function split(val) {
    return val.split(/[@#]/g);
    }

    ReplyDelete