Разбейте строку и получите вторую запятую - PullRequest
3 голосов
/ 11 июля 2019

У меня есть строка "Fred/Jim/Rob/" Что мне нужно, так это то, что мне нужно разбить строку до последнего, а также избежать последнего /.

Я пробовал:

for (var i = 0; i < input.length; i++) {
var input = ["Fred/Jim/Rob/"] 
var X = input.split("/",);

----some other code---
}

В этом случае мой цикл работает до последнего /, поэтому я хочу просто избежать последнего /.

Ответы [ 6 ]

5 голосов
/ 11 июля 2019

Попробуйте вместо этого использовать .match - сопоставьте не / символы с регулярным выражением:

const str = "Fred/Jim/Rob/";
const result = str.match(/[^/]+/g);
console.log(result);
1 голос
/ 11 июля 2019

Вы можете попробовать следующее:

words = "Fred/Jim/Rob/".split('/');
words.pop();
console.log(words);
1 голос
/ 11 июля 2019

Вы также можете разделить на косую черту / и фильтр пустые записи впоследствии, используя логическое значение.

const input = "Fred/Jim/Rob/";
const result = input.split("/");
console.log(result.filter(Boolean));
1 голос
/ 11 июля 2019

Вы можете просто удалить последние / и разделить,

let str = "Fred/Jim/Rob/"
let str2 = "Fred/Jim/Rob"

let newStr =(str)=> (str.endsWith('/') ? str.substr(0,str.length-1) : str).split('/')


console.log(newStr(str))
console.log(newStr(str2))
0 голосов
/ 11 июля 2019

попробуйте что-то вроде этого:

var input = ["Fred/Jim/Rob/"];
var slices = input.split("/");
console.log(slices[slices.length-1]);
0 голосов
/ 11 июля 2019

Можно использовать split метод:

let input = "Fred/Jim/Rob/";
let [fred, jim, Rob] = input.split(/[ / ]/);
console.log([fred, jim, Rob]);
...