Поиск трехзначных чисел
Необходимо найти трехзначные числа и вывести их количество.
Вариантов много перепробовал, но все никак. Один из таких это alert("321 cfit 12. same word and sdfsdf 1.".replace(/(\d{3})/g, "")); Но выводит все кроме трехзначного числа, а нужно наоборот. Если кто поможет, буду очень благодарен. |
alert("321 cfit 12. same word and sdfsdf 1.".match(/(\d{3})/g).length); |
Goret,
var len = "321 cfit 12. same word and sdfsdf 1.".match(/(\d{3})/g); alert(len ? len.length : 0); |
рони,
<script> var len = "\\\321 cfit 12. same word and sdfsdf 1.".match(/(\d{3})/g); alert((len ? len.length : 0) + ':( '); </script> |
join,
и какое решение в данном случае? |
рони,
Не знаю как это решить.:-? |
Спасибо всем кто откликнулся)
|
join,
alert( "\\\321 cfit 12. same word and sdfsdf 1." + "\nГде здесь здесь трёхзначное число, м?" ) А по задаче - все ваши решения фигня, потому что поломаются на числах из более чем 3х знаков.) Аккуратненького решения нет, но можно примерно так: var len = "3215 cfit 12. same word444 and sdf33333sdf 1.".match(/(^|\D)\d{3}(?!\d)/g); alert(len ? len.length : 0); |
Цитата:
Как правило, подобный класс проблем возникает, когда не знают, как подойти к решению к той или иной задачи. |
Цитата:
:) Главное эт определиться с терминами ... |
Aetae,
вы мне очень помогли. Вот что в результате получилось. var text = "321 cfit 12. same word and sdfsdf 1 dfg465 ором789ячвпм оорир 12354 fgh1234dghfgh." var res = text.match(/(^|\D)\d{3}(?!\d)/g); alert("Количество трехзначных чисел в тексте " + res.length); alert('Трехзначные числа: ' + res ); Единственный нюанс в браузере в данном случае при выводе самих чисел, где перед числами стоят буквы, выводится одна буква. но если в условии убрать /D, тогда неправильный вывод. |
Цитата:
|
var text = "321 cfit 12. same word and sdfsdf 1 dfg465 ором789ячвпм оорир 12354 fgh1234dghfgh." var arr = []; function repl(str){if(str.length==3) arr.push(str); return str;} var res = text.replace(/(\d+)/g,repl); alert("Количество трехзначных чисел в тексте " + arr.length); alert('Трехзначные числа: ' + arr ); |
var arr = "321 cfit 12. same word and sdfsdf 1 dfg465 ором789ячвпм оорир 12354 fgh1234dghfgh." .match(/\d+/g) .filter(n => n.length === 3) alert("Количество трехзначных чисел в тексте " + arr.length); alert('Трехзначные числа: ' + arr ); |
Часовой пояс GMT +3, время: 15:40. |