помогите со split
Почему при b1[i]= b1[i].split(/\n/),b1[0][0]-пусто?Объясните пожалуйста...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<body>
<p>
• Самашки - Вайнах 1:4
Берд - Лидер 2:3
ЧГУ - Низам 1:2
Родник - Авангард 2:1
Тайфун - Динамо 0:2
Казбек-Горец 0:2
Спартак - Мартан 2:1
ЧГПИ - Даймохк 1:1
Марта - Сунжа 2:1 05.11.12 22:42 Нохчо Правка ip inf
• Самашки-Вайнах 1:3
Берд-Лидер 0:2
ЧГУ-Низам 2:2
Родник-Авангард 1:2
Тайфун-Динамо 1:3
Казбек-Горец 0:4
Спартак-Мартан 0:0
ЧГПИ-Даймохк 1:5
Марта-Сунжа 1:2 05.11.12 22:56 ФК Орга Правка ip inf
• Самашки-Вайнах 1-1
Берд-Лидер 1-3
ЧГУ-Низам 1-2
Родник-Авангард 2-3
Тайфун-Динамо 1-3
Казбек-Горец 1-4
Спартак-Мартан 2-1
ЧГПИ-Даймохк 1-3
Марта-Сунжа 2-1 05.11.12 22:58 anzor95 Правка ip inf
</p>
<script>
a1=document.getElementsByTagName('p')[0].innerHTML;
b1=a1.split(/\s\d{2}\.\d{2}\.\d{2}\s\d{2}\:\d{2}\s.+\sПравка\sip\sinf/);
for (i=0;i<b1.length; i++) {
//document.write(b1[i]+'<br>');
//}
b1[i]= b1[i].split(/\n/);
for (j=0;j<b1[i].length; j++) {
document.write(b1[0][0]+'<br>');
}}
//reg5=/\d|[А-Яа-я]+/igm;
//b1[i][j+1]= b1[i][j+1].match(reg5);
//document.write(b1[i][j+1][k]+'<br>');
//}}}
</script>
</body>
</html>
|
Потому что у вас параграф начинается с перевода строки.
Замените <p> • Самашки - Вайнах 1:4 на <p>• Самашки - Вайнах 1:4 а правильнее будет отслеживать пустые элементы и игнорировать их. Так желательно делать всегда, когда делаете split с RegExp, т.к. результат может зависеть от версии браузера: http://javascript.ru/forum/misc/3600...tml#post238235 |
rgl -спасибо огромное.Гениально!
Значит нужно делать проверку на пустоту... |
Цитата:
b1[i]= b1[i].split("\n"); |
А как правильно удалить,теперь,пустые элементы?
|
Так и не смог решить задачу по удалению пустых элементов.:help:
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<body>
<p>
• Самашки - Вайнах 1:4
Берд - Лидер 2:3
ЧГУ - Низам 1:2
Родник - Авангард 2:1
Тайфун - Динамо 0:2
Казбек-Горец 0:2
Спартак - Мартан 2:1
ЧГПИ - Даймохк 1:1
Марта - Сунжа 2:1 05.11.12 22:42 Нохчо Правка ip inf
• Самашки-Вайнах 1:3
Берд-Лидер 0:2
ЧГУ-Низам 2:2
Родник-Авангард 1:2
Тайфун-Динамо 1:3
Казбек-Горец 0:4
Спартак-Мартан 0:0
ЧГПИ-Даймохк 1:5
Марта-Сунжа 1:2 05.11.12 22:56 ФК Орга Правка ip inf
• Самашки-Вайнах 1-1
Берд-Лидер 1-3
ЧГУ-Низам 1-2
Родник-Авангард 2-3
Тайфун-Динамо 1-3
Казбек-Горец 1-4
Спартак-Мартан 2-1
ЧГПИ-Даймохк 1-3
Марта-Сунжа 2-1 05.11.12 22:58 anzor95 Правка ip inf
</p>
<script>
a1=document.getElementsByTagName('p')[0].innerHTML;
a1= a1.replace(/^\s*?\n\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n')
alert('Начало строки:'+a1)
b1=a1.split(/\s\d{2}\.\d{2}\.\d{2}\s\d{2}\:\d{2}\s.+\sПравка\sip\sinf/);
for (i=0;i<b1.length; i++) {
//document.write(b1[i]+'<br>');
//}
b1[i]= b1[i].split(/\n/);
for (j=0;j<b1[i].length; j++) {
document.write(b1[0][0]+'<br>');
}}
//reg5=/\d|[А-Яа-я]+/igm;
//b1[i][j+1]= b1[i][j+1].match(reg5);
//document.write(b1[i][j+1][k]+'<br>');
//}}}
</script>
</body>
</html>
|
var b1=a1.split(/\s\d{2}\.\d{2}\.\d{2}\s\d{2}\:\d{2}\s.+\sПравка\sip\sinf/);
for(var i = 0; i < b1.length; i++) {
if(!b[i].replace(/\s/g, "")) {
b1.splice(i, 1);
i--;
}
}
|
Deff и Ervin-большое спасибо!
|
А если с помощью обьекта?Как-то так....
Вот так пустые элементы удаляются?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<body>
<p>
• Самашки - Вайнах 1:4
Берд - Лидер 2:3
ЧГУ - Низам 1:2
Родник - Авангард 2:1
Тайфун - Динамо 0:2
Казбек-Горец 0:2
Спартак - Мартан 2:1
ЧГПИ - Даймохк 1:1
Марта - Сунжа 2:1 05.11.12 22:42 Нохчо Правка ip inf
• Самашки-Вайнах 1:3
Берд-Лидер 0:2
ЧГУ-Низам 2:2
Родник-Авангард 1:2
Тайфун-Динамо 1:3
Казбек-Горец 0:4
Спартак-Мартан 0:0
ЧГПИ-Даймохк 1:5
Марта-Сунжа 1:2 05.11.12 22:56 ФК Орга Правка ip inf
• Самашки-Вайнах 1-1
Берд-Лидер 1-3
ЧГУ-Низам 1-2
Родник-Авангард 2-3
Тайфун-Динамо 1-3
Казбек-Горец 1-4
Спартак-Мартан 2-1
ЧГПИ-Даймохк 1-3
Марта-Сунжа 2-1 05.11.12 22:58 anzor95 Правка ip inf
</p>
<script>
a1=document.getElementsByTagName('p')[0].innerHTML;
b1=a1.split(/\sПравка\sip\sinf/);
for (i=0;i<b1.length; i++) {
b1[i]= b1[i].split(/\d{2}\.\d{2}\.\d{2}\s\d{2}\:\d{2}\s/);
var autor=b1[i][0];
var text=b1[i][1];
var prognoz={};
for(key in prognoz){
prognoz[autor]=autor.push(key);
prognoz[text]=text.push(key);
}
//document.write(autor+'<br>');
//document.write(text+'<br>');
//}
var arr=prognoz.text.split(/\d/);
for(var i in arr){
document.write(arr[i]+'<br>');
}}
</script>
</body>
</html>
Почему-то по 2 раза стало выходить? |
| Часовой пояс GMT +3, время: 17:18. |