-2
votes

Split String avec motif et avec deux points

J'ai des cordes comme suit: xxx

et j'ai besoin de le diviser en deux chaînes, par exemple

"crofulé.v1" < / code> xxx

J'ai essayé de scinder à "v1" , mais j'ai "" " et "" .

aucune idée de comment puis-je le faire simplement?


0 commentaires

3 Réponses :


1
votes

Vous pouvez utiliser LastIndexof code> :

p>

let str = "cro.finished.v1";
let index = str.lastIndexOf(".");
let str1 = str.substring(0,index), str2 = str.substring(index+1);
console.log(str1,str2);


0 commentaires

0
votes

Vous pouvez correspondre aux pièces en recherchant deux groupes, le premier avec tous les caractères, un point à l'extérieur du groupe et un groupe sans points.

p>

var string = "cro.finished.v1",
    [left, right] = string.match(/(^.+)\.([^\.]+$)/).slice(1);

console.log(left);
console.log(right);


0 commentaires

1
votes

Vous pouvez le diviser en utilisant le .lastindexof () code> strong> méthode qui donnera à l'index dans lequel vous devez diviser. Ensuite, vous pouvez simplement utiliser .Substring () code> strong> se diviser en deux parties.

ci-dessous J'ai inclus un extrait de code qui a la liste des chaînes que vous avez mentionnées et il faudra diviser les cordes en deux parties Au besoin. p>

p>

// You list of strings to be split at last .
let str = ["cro.finished.v1", "cro1.finished.v1", "cro1.fd.v1", "zro1.wd.v1", ];

let first_part = [],
  second_part = [];

// Loop for each element in your list of strings
// Split at last . and separate the words into two list 
str.forEach(function(el) {
  let idx = el.lastIndexOf('.');
  first_part.push(el.substring(0, idx));
  second_part.push(el.substring(idx + 1));

});

// First part separated into one array
console.log(first_part);

// Second part separated into another array
console.log(second_part);


0 commentaires