Поиск трехзначных чисел
Необходимо найти трехзначные числа и вывести их количество.
Вариантов много перепробовал, но все никак. Один из таких это
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, время: 10:29. |