Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.04.2013, 12:40
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

помогите со 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>
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2013, 13:58
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Потому что у вас параграф начинается с перевода строки.
Замените
<p>
• Самашки - Вайнах 1:4
на
<p>• Самашки - Вайнах 1:4
а правильнее будет отслеживать пустые элементы и игнорировать их. Так желательно делать всегда, когда делаете split с RegExp, т.к. результат может зависеть от версии браузера:
Регулярное выражение: узнать количество цифр.

Последний раз редактировалось rgl, 10.04.2013 в 14:02.
Ответить с цитированием
  #3 (permalink)  
Старый 10.04.2013, 14:22
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

rgl -спасибо огромное.Гениально!
Значит нужно делать проверку на пустоту...
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2013, 14:46
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от dima*** Посмотреть сообщение
b1[i]= b1[i].split(/\n/);
В догонку: параметром split может быть как регулярное выражение, так и просто строка, в простых случаях можно и так
b1[i]= b1[i].split("\n");
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2013, 16:12
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

А как правильно удалить,теперь,пустые элементы?
Ответить с цитированием
  #6 (permalink)  
Старый 10.04.2013, 20:31
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Так и не смог решить задачу по удалению пустых элементов.
Ответить с цитированием
  #7 (permalink)  
Старый 10.04.2013, 20:56
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<!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>

Последний раз редактировалось Deff, 10.04.2013 в 20:58.
Ответить с цитированием
  #8 (permalink)  
Старый 10.04.2013, 21:05
Аспирант
Отправить личное сообщение для Ervin Посмотреть профиль Найти все сообщения от Ervin
 
Регистрация: 19.03.2013
Сообщений: 84

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--;
   }
}

Последний раз редактировалось Ervin, 10.04.2013 в 22:03.
Ответить с цитированием
  #9 (permalink)  
Старый 11.04.2013, 07:20
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Deff и Ervin-большое спасибо!
Ответить с цитированием
  #10 (permalink)  
Старый 11.04.2013, 09:14
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

А если с помощью обьекта?Как-то так....
Вот так пустые элементы удаляются?

<!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 раза стало выходить?

Последний раз редактировалось dima***, 12.04.2013 в 09:13.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите расшифровать JS pavdin Общие вопросы Javascript 24 01.04.2017 20:37
Помогите с replace! faforty Общие вопросы Javascript 2 28.08.2011 13:10
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Помогите новичку с выпадающим списком interest Элементы интерфейса 5 19.05.2010 13:15