How I can get multilingual values of a variable in a string with NodeJS?

In NodeJS, I am getting tags comma seperated, an in my model, split them and save to DB.

var getTags = function (tags) { return tags.join(',') }

var setTags = function (tags) { return tags.split(',') }

I want to use it to save multilingual values of variables. Let's say:

I want to get Name: [:es]Sopa[:en]Soup and split it to become:

"Name" : { "es" : "Sopa", "en" : "Soup" }

How can I do that? Is there a better way to do it? Regex is the solution?

RegExp is suitable for your case. Here's some code snippet.

function parse_value(value) {
    var hash = {};
    var values= value.split(/,/);
    for (var i = 0; i < values.length; i++) {
        var pair = values[i].split(/:/);
        hash[pair[0]] = pair[1];
    }
    return hash;
}

function parse_data(data) {
    if (/^(\w+):\s*(.*)$/.test(data)) {
        var name = RegExp.$1;
        var value = RegExp.$2;

        var hash = parse_value(value);

        var output = {};
        output[name] = hash;
        return output;
    }
    else {
        return {};
    }
}
var data = "Name: es:Sopa,en:soup";
console.log(parse_data(data));  //=> { Name: { es: 'Sopa', en: 'Soup' } }