thelolcat
thelolcat

Reputation: 11545

Get last section of string

I have a input field with a name attribute like field[subkey][subkey2]

How can I get the last part of the string, subkey2 in javascript?

$('input').each(function(){
 var name = $(this).attr('name');

 // here I need only the last part of "name"

});

Upvotes: 1

Views: 105

Answers (3)

David Thomas
David Thomas

Reputation: 253318

First thoughts:

var string = "field[subkey][subkey2]",
    parts = string.split('['),
    variable2 = parts[2].substring(0,parts[2].length - 1);

JS Fiddle demo.

Alternatively:

var string = "field[subkey][subkey2]",
    variable2 = string.substring(string.lastIndexOf('[') + 1,string.length - 1);

JS Fiddle demo.

If you want to use jQuery to select the relevant elements:

$('input').each(
    function() {
        var string = this.name;
        $(this).val(string.substring(string.lastIndexOf('[') + 1, string.length - 1));
    });​

JS Fiddle demo.

References:

Upvotes: 3

Trey
Trey

Reputation: 5520

str='field[subkey][subkey2]';
spl=str.split('][');
new_str=spl.pop();
final=new_str.substr(0,new_str.length-1);

//final=subkey2

in case you have a variable depth

Upvotes: 1

Esailija
Esailija

Reputation: 140230

"field[subkey][subkey2]".match(/\[([^\]]*)\]$/)[1]
//"subkey2"

Upvotes: 2

Related Questions