Я разделил строку "/"
и "/something"
на .split("/")
, и я хочу получить длину, но ее же: 2. Как я могу это различить? Идеально "/".length == 0
и "./something" == 1
Любые советы?Как получить разную длину разделенной строки «/» и «/ something»
ответ
Если строка должна иметь/зарегистрировать 1
var countThem = function countThem0(str, sep) {
return str.indexOf(sep) < 0 ? 0 : str.split(sep).filter(function (e) {
return e.length;
}).length;
};
В противном случае
var countThem = function countThem(str, sep) {
return str.split(sep).filter(function (e) {
return e.length;
}).length;
};
В ES2015, это даже аккуратнее
let countThem = (str, sep) => str.indexOf(sep) < 0 ? 0 : str.split(sep).filter(e => e.length).length;
или
let countThem = (str, sep) => str.split(sep).filter(e => e.length).length;
Поскольку пустая строка falsy, вы можете использовать !""
, чтобы решить, будет ли или не считать вас эта строка:
function myFunc(str){
var parts = str.split('/'),
i = 0;
while(i<parts.length){
// if the current String is empty, remove it from the array
if(!parts[i]) parts.splice(i, 1);
else i++;
}
return parts.length;
}
console.log(myFunc('zero')); // 0
console.log(myFunc('/')); // 0
console.log(myFunc('/one')); // 1
console.log(myFunc('one/two')); // 2
console.log(myFunc('1/2/3///'));// 3
Вы также можете использовать filter
для ... фильтровать эти элементы :
function myFunc(str){
return str.split('/').filter(function(part){return !!part}).length;
}
console.log(myFunc('zero')); // 0
console.log(myFunc('/')); // 0
console.log(myFunc('/one')); // 1
console.log(myFunc('one/two')); // 2
console.log(myFunc('1/2/3///'));// 3
Нет ничего более просто?? –
не должен 'myFunc (" zero ")' result be 1? –
@JaromandaX Возможно, вы правы, я думал, что он может захотеть 0, если строка не содержит косой черты, но было бы разумно вернуть 1 – blex
Вы можете сделать это.
var str = "/";
str.split('/').join('') // always "" which equal false if there is only '/'
var str1 = "/somthing";
str1.split('/').join('') // always non-empty if string not contain only '/' character
- 1. Строки, закодированные в ASCII и UTF8, имеют разную длину!
- 2. AVAudioRecorder и аудио AVAudioPlayer имеют разную длину
- 3. 'train' и 'class' имеют разную длину knn
- 4. добавить столбцы разную длину pandas
- 5. Как получить длину строки
- 6. Как адреса указателей могут иметь разную длину?
- 7. PHP усеченного mb_substr дает разную длину результатам
- 8. Редактор Tinymce меняет размер на разную длину текстовой строки
- 9. Что возвращает strcmp, если две аналогичные строки имеют разную длину?
- 10. mysql_fetch_fields возвращает разную длину, а затем ожидается
- 11. Почему String [] дает разную длину и разделяет данную строку?
- 12. Matplotlib Как получить длину строки
- 13. Анализатор UniVocity CSV имеет разную длину?
- 14. Как обрабатывать разную длину языка на веб-странице?
- 15. Как я могу отформатировать несколько строк, чтобы получить равное расстояние, когда некоторые строки имеют разную длину.
- 16. ArrayList: Получить длину самой длинной строки, Получить среднюю длину строки
- 17. Получить длину байта строки
- 18. Получить длину строки
- 19. Ошибка в knn 'train' и 'class' имеют разную длину
- 20. KNN in R: «поезд и класс имеют разную длину»?
- 21. Получить первое значение строки, разделенной запятой
- 22. Функция strlen дает разную длину по тому же тексту
- 23. Получить длину метода строки Java
- 24. Получить длину строки в пикселях
- 25. Как XOR два двоичных числа, имеющих разную длину?
- 26. получить длину строки в UTF8
- 27. Как получить значение из $ .something {(...)}
- 28. Получить длину подстроки из строки
- 29. Устанавливает разную длину в String в разных строках TextView
- 30. PowerShell 2.0 получить длину строки
Просьба поделиться ссылкой – brk
Можете ли вы опубликовать код, необходимый для воспроизведения проблемы? – Pugazh
'pathName.split ("/"). Length' возвращает 2 и' let pathName = "/" ' –