помогите со 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, время: 15:02. |