Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Что делаю не так? (https://javascript.ru/forum/misc/45419-chto-delayu-ne-tak.html)

dima*** 27.02.2014 20:24

Что делаю не так?
 
Подскажите,что делаю не так.Избавляюсь от пустых элементов.
В этом коде не получается:53. if(c[i]!='');
Какое условие нужно ставить?

<html>
<head>
<title>Документ без названия</title>
</head>
<body>
<p style ='display:none'>
I тур
26 апреля 2013 г.
1. Круглолесское - Средний              перенос
27 апреля 2013 г.
2. Ветераны футбола - Саблинское    на КДК 
3. Новокавказский - АСХК                   3-0
26 апреля 2013 г.
4. Ал. ДЮСШ - Калиновское                 7-2
 
II тур 
3 мая 2013 г.
1. Средний - Калиновское                    4-1
2. Новокавказский - Ал. ДЮСШ             4-4
3. АСХК - Саблинское                          4-8
4. Круглолесское - Ветераны футбола   0-3
 
III тур 
8 мая 2013 г.
1. Ветераны футбола - Средний           4-2
22 мая 2013 г.
2. АСХК - Круглолесское (зап. поле)
3. Саблинское- Ал. ДЮСШ (ос.поле)
8 мая 2013 г.
4. Калиновское - Новокавказский        0-9
 

</p>

<script>

var a=document.getElementsByTagName('p')[0].innerHTML;
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');

reg0=/[IVX]+\s*тур/img;
reg1=/\d+\s*[а-я]+\s*\d*\s*г\./img;
reg2=/\d+\.\s(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)/img;

b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/).join('<br>');

c=b.split(reg0).join(',');
c=c.split(reg1).join(',');
c=c.split('<br>');

d=[];
for (var i=0; i<c.length; i++) {
if(c[i]!='');    //  Здесь не получается
d.push(c[i]);

document.write(d[i]+'<br>');
console.log(d[i]+'<br>');
}

</script>
</body>
</html>

рони 27.02.2014 21:30

dima***,
у вас не пусто у вас запятые

рони 27.02.2014 21:32

dima***,
и от пустых и от зяпятых ... вариант
<html>
<head>
<title>Документ без названия</title>
<meta charset="utf-8">
</head>
<body>
<p style ='display:none'>
I тур
26 апреля 2013 г.
1. Круглолесское - Средний              перенос
27 апреля 2013 г.
2. Ветераны футбола - Саблинское    на КДК
3. Новокавказский - АСХК                   3-0
26 апреля 2013 г.
4. Ал. ДЮСШ - Калиновское                 7-2

II тур
3 мая 2013 г.
1. Средний - Калиновское                    4-1
2. Новокавказский - Ал. ДЮСШ             4-4
3. АСХК - Саблинское                          4-8
4. Круглолесское - Ветераны футбола   0-3

III тур
8 мая 2013 г.
1. Ветераны футбола - Средний           4-2
22 мая 2013 г.
2. АСХК - Круглолесское (зап. поле)
3. Саблинское- Ал. ДЮСШ (ос.поле)
8 мая 2013 г.
4. Калиновское - Новокавказский        0-9


</p>

<script>

var a=document.getElementsByTagName('p')[0].innerHTML;
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');

reg0=/[IVX]+\s*тур/img;
reg1=/\d+\s*[а-я]+\s*\d*\s*г\./img;
reg2=/\d+\.\s(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)/img;

b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/).join('<br>');

c=b.split(reg0).join(',');
c=c.split(reg1).join(',');
c=c.split('<br>');

d=[];
for (var i=0; i<c.length; i++) {
if(!/^[,\s]+$/.test(c[i])) {
  d.push(c[i])
}
}
document.write(d.join('<br>'));
</script>
</body>
</html>

dima*** 27.02.2014 21:50

рони,спасибо!
В alert выходит пустота.В консоле",".
Ставя в if(c[i]!=',')- выходит undefined.
if(c[i]!=', ')- не получается .
Только через регулярные выражения можно?

рони 27.02.2014 22:53

Цитата:

Сообщение от dima***
Ставя в if(c[i]!=',')- выходит undefined.
if(c[i]!=', ')- не получается .

ну шо таке вонжешь як треба
<html>
<head>
<title>Документ без названия</title>
<meta charset="utf-8">
</head>
<body>
<p style ='display:none'>
I тур
26 апреля 2013 г.
1. Круглолесское - Средний              перенос
27 апреля 2013 г.
2. Ветераны футбола - Саблинское    на КДК
3. Новокавказский - АСХК                   3-0
26 апреля 2013 г.
4. Ал. ДЮСШ - Калиновское                 7-2

II тур
3 мая 2013 г.
1. Средний - Калиновское                    4-1
2. Новокавказский - Ал. ДЮСШ             4-4
3. АСХК - Саблинское                          4-8
4. Круглолесское - Ветераны футбола   0-3

III тур
8 мая 2013 г.
1. Ветераны футбола - Средний           4-2
22 мая 2013 г.
2. АСХК - Круглолесское (зап. поле)
3. Саблинское- Ал. ДЮСШ (ос.поле)
8 мая 2013 г.
4. Калиновское - Новокавказский        0-9


</p>

<script>

var a=document.getElementsByTagName('p')[0].innerHTML;
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');

reg0=/[IVX]+\s*тур/img;
reg1=/\d+\s*[а-я]+\s*\d*\s*г\./img;
reg2=/\d+\.\s(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)/img;

b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/).join('<br>');

c=b.split(reg0).join(',');
c=c.split(reg1).join(',');
c=c.split('<br>');

d=[];
for (var i=0; i<c.length; i++) {
if(c[i]!=',') {
  d.push(c[i])
}
}
document.write(d.join('<br>'));
</script>
</body>
</html>

ruslan_mart 28.02.2014 06:15

А чем pre не угодил?

danik.js 28.02.2014 06:49

Цитата:

Сообщение от dima***
b=b.split(/\n/).join('<br>');
 
c=b.split(reg0).join(',');
c=c.split(reg1).join(',');
c=c.split('<br>');

Че за нах?

dima*** 28.02.2014 08:55

рони,спасибо огромное!
Нужно было просто d циклом прогнать,а так я всё правильно делал!:)
Вот нужно как было:

<html>
<head>
<title>Документ без названия</title>
<meta charset="utf-8">
</head>
<body>
<p style ='display:none'>
I тур
26 апреля 2013 г.
1. Круглолесское - Средний              перенос
27 апреля 2013 г.
2. Ветераны футбола - Саблинское    на КДК
3. Новокавказский - АСХК                   3-0
26 апреля 2013 г.
4. Ал. ДЮСШ - Калиновское                 7-2

II тур
3 мая 2013 г.
1. Средний - Калиновское                    4-1
2. Новокавказский - Ал. ДЮСШ             4-4
3. АСХК - Саблинское                          4-8
4. Круглолесское - Ветераны футбола   0-3

III тур
8 мая 2013 г.
1. Ветераны футбола - Средний           4-2
22 мая 2013 г.
2. АСХК - Круглолесское (зап. поле)
3. Саблинское- Ал. ДЮСШ (ос.поле)
8 мая 2013 г.
4. Калиновское - Новокавказский        0-9


</p>

<script>

var a=document.getElementsByTagName('p')[0].innerHTML;
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');

reg0=/[IVX]+\s*тур/img;
reg1=/\d+\s*[а-я]+\s*\d*\s*г\./img;
reg2=/\d+\.\s(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)/img;

b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/).join('<br>');

c=b.split(reg0).join(',');
c=c.split(reg1).join(',');
c=c.split('<br>');

d=[];
for (var i=0; i<c.length; i++) {
if(c[i]!=',') {
  d.push(c[i])
}
}
for (var i=0; i<d.length; i++) {
document.write(d[i]+'<br>');
}
//document.write(d.join('<br>'));
</script>
</body>
</html>

dima*** 28.02.2014 08:58

Цитата:

Сообщение от Ruslan_xDD
А чем pre не угодил?

Всем угодил!Я даже не знал,что его можно в if вставлять.Теперь ещё нужно через filter научиться делать.Пока сам буду пробывать.

dima*** 28.02.2014 09:14

Цитата:

Сообщение от danik.js
Сообщение от dima***
b=b.split(/\n/).join('<br>');
 
c=b.split(reg0).join(',');
c=c.split(reg1).join(',');
c=c.split('<br>');
Че за нах?

danik.js, а как правильно?


Часовой пояс GMT +3, время: 23:44.