2 votes

La méthode de séparation ou de suppression du dernier caractère ou du dernier chiffre d'une chaîne de caractères dans node.js ?

Dans le code ci-dessous req.body.urlOfFolder la plus grande chaîne de caractères avec / Cette chaîne est le dernier segment que je veux diviser ou supprimer, j'ai essayé avec split (voir le code ci-dessous), alors comment supprimer le dernier segment ?

 console.log(req.body.urlOfFolder); //  131/131/980/981/982/983/984/985/986/987/988

 var urloffolder =  req.body.urlOfFolder.split('/')[0];
 console.log(urloffolder); // 131 (this output i get)

 console.log(urloffolder); // 131/131/980/981/982/983/984/985/986/987 (this output i want)

3voto

CertainPerformance Points 110949

Vous pourriez diviser par des barres obliques, enlever le dernier 988 que vous ne voulez pas, puis adhérez à nouveau :

const url = '131/131/980/981/982/983/984/985/986/987/988';
const splits = url.split('/');
splits.pop();
const fixedUrl = splits.join('/');
console.log(fixedUrl);

Une autre option consisterait à utiliser une expression régulière :

const url = '131/131/980/981/982/983/984/985/986/987/988';
const fixedUrl = url.match(/\d+(?:\/\d+)+(?=\/\d+$)/)[0];
console.log(fixedUrl);

2voto

Code Maniac Points 29570

Une autre façon de procéder consiste à utiliser substr et lastIndexOf

let str = "131/131/980/981/982/983/984/985/986/987/988";

let op = str.substr(0,str.lastIndexOf('/'));

console.log(op);

Méthode Regex

let str = "131/131/980/981/982/983/984/985/986/987/988";

let op = str.match(/.*(?=\/)/g)[0];

console.log(op);

1voto

Nikhil Aggarwal Points 21966

Essayez de suivre en utilisant Array.pop

let str = "131/131/980/981/982/983/984/985/986/987/988";
let temp = str.split("/"); // create array split by slashes
temp.pop(); // remove the last value 988 in our case
console.log(temp.join("/")); // join the values

1voto

Nick Parsons Points 2103

Vous pouvez utiliser .splice(-1) o .pop() pour supprimer le dernier élément de votre tableau fractionné, puis .join('/') pour rejoindre votre chaîne de séparation avec / :

.split('/') donne :

['131', '131', '980', '981', '982', '983', '984', '985', '986', '987', '988']

.splice(-1) o .pop() transforme le tableau ci-dessus en (supprime le dernier élément) :

['131', '131', '980', '981', '982', '983', '984', '985', '986', '987'] 

.join('/') transforme le tableau ci-dessus en une chaîne de caractères :

"131/131/980/981/982/983/984/985/986/987"

const numbers = "131/131/980/981/982/983/984/985/986/987/988"
const numbersArray = numbers.split('/');
numbersArray.splice(-1);

const newNumbers = numbersArray.join('/');
console.log(newNumbers);

Les séquences ci-dessus peuvent également être réalisées en utilisant .reduce :

const numbers = "131/131/980/981/982/983/984/985/986/987/988"
const newNumbers = numbers.split('/').reduce((acc, elem, i, arr) => i == arr.length-1 ? acc : acc+'/'+elem);

console.log(newNumbers);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X