Метод split
возвращает новый массив.
Строка бьется по separator
, при разбивании separator
пропадает:
arr = "a,b,c".split(',') // массив ["a", "b", "c"]
Если separator
не указан или совпадений нет, то возвращаемый массив состоит из одного элемента - исходной строки.
Если separator
является регулярным выражением со вложенными скобками, то каждый раз при совпадении separator
все результаты захвата скобками, включая undefined
результаты, добавляются в выходной массив.
Если вызывающая строка пуста, то split
возвращает массив из одной пустой строки, а не пустой массив.
Следующий пример делит по ',' и убирает лишние пробелы вокруг запятой.
Пример: по регулярному выражению
var tags = "Лето, зима, осень 2009 года"
var re = /\s*,\s*/
var tagList = tags.split(re);
alert(tagList) // ["Лето", "зима", "осень 2009 года"]
При делении с ограничением limit
- элементы массива свыше limit
будут отброшены.
Это поведение отличается от принятого во многих языках програмирования.
Пример: Ограничение массива
var str ="a b с d"
str.split(' ',2)
// ["a", "b"], а не ["a" "b c d"]
Следующий пример иллюстрирует добавление в массив результатов захвата вложенными скобками.
Пример: Вложенные скобки
var myString = "Hello 1 word. Sentence number 2."
var splits = myString.split(/(\d)/)
// splits = ["Hello ", "1", " word. Sentence number ", "2", "."]
Благодаря скобкам, найденный разделитель separator
сохранился и вошел в результирующий массив.
Можно ли по аналогии с myString.split(/(\d)/)
использовать что-то вроде myString.split(/(\[A-Za-z0-9])/) ?
Естественно это не работает, но что-то в этом духе
> myString.split(/(\[A-Za-z0-9])/)
Конечо не будет работать, тут ошибка синтаксиса.
Как найти отдельные слова и строчки в кавычках? В поисковых строках обычно когда надо найти фразу, то её берут в кавычки. Например:
word "big phrase"
Такой текст должен быть разделён на два элемента массива:
1) word
2) big phrase
Как это сделать?
Тут нужны регэкспы либо разбор по токенам.
Я понимаю, что нужны регэкспы, я не понимаю, как их написать.
Alert показывает только "big phrase", а надо, чтобы одна строчка массива - word, другая - "big phrase".
я думаю, все-таки регулярка должна была быть
забыл про скобочки
а да! я это и искал!!!
как можно узнать, сколько элементов получилось в массиве?
(исходная строка каждый раз разная)
как сделать, чтобы разделители тоже записывались в поля?
Помогите плииииз.
Написать функцию, которая проверяет, что в строке, переданной в качестве аргумента, передается время в формате "чч.мм" или "чч.мм.сс". Если это так, то функция возвращает true, в противном случае - false.
Если separator является регулярным выражением со вложенными скобками, то каждый раз при совпадении separator все результаты захвата скобками, включая undefined результаты, добавляются в выходной массив.
К сожалению, в IE вплоть до 8 результаты захвата скобками в массив не добавляются.
Вложенные скобки в регулярке не работают в ИЕ (как минимум 8-м). Я бы это добавил в описание примера.
у меня строка
var str="2.9 2.6 2.5";
делаю через
str.split(',',3);
у меня все равно массив заполняется так
alert(str[0]); // 2
alert(str[1]); // .
alert(str[2]); // 9
а надо str[0]=2.9
str[1]=2.6
точнее str.split(' ',3);
просто и так и так пробывал
var str = "2.9 5.6 7.8";
str = str.split(' '); //пробел между кавычками
alert(str[2]); //7.8
сепаратор тут не запятая, а пробел. ты его не ставишь, поэтому выходит '2','.' и '9'
function(file, response){
#тут некие действия функции
response.split('#');
alert(response[0]); // выдает: "s", хотя в функцию респонс приходит таким: success#image_name.jpg
}
response.split('#');
alert(response[0]);
конечно не сработает, надо так:
response = response.split('#');
alert(response[0]);
ну, думаю ты понял - сплит строку не меняет, он просто возвращает массив. а ты алерт первого символа строки вызываешь.
Доброго времени суток, помогите пожалуйста, наткнулся на такое задание
Напишите сценарий, выводящий на экран текст стихотворения:
Мы ехали на машине ПОБЕДА
Остались мы без ОБЕДА
Случилась БЕДА
Пропала ЕДА
Ты ее съела? – ДА
При этом слова, выделенные жирным шрифтом, получились от исходного слова «победа» (строчные буквы!), путем использования методов объекта String.
Как именно это нужно сделать корректно, чтобы не вызывало ошибок?
var word = "победа";
word = word.toUpperCase(); // слово заглавными буквами
Возможно есть и другой вариант
for (var i = 0; i ',word.substr(i,word.length));
} // выведет
ПОБЕДА
ОБЕДА
БЕДА
ЕДА
ДА
Ошибочка вышла в предыдущем сообщении
for (var i = 0; i < word.length-1; i++) {
document.write('',word.substr(i,word.length));
}
из php аяксом json_encode(php_массив) возвращает строку:
(new String("{\"67640\":\"\\u0410\\u043d\\u0433\\u0430\\u0440\\u0441\\u043a\",\"68511\":\"\\u0411\\u0440\\u0430\\u0442\\u0441\\u043a\" ...
Как эту строку сделать массивом?
подскажите пожалуйста,
есть строка: -слово1 -слово2 -слово3...
как добавить слова в массив чтобы было: ["слово1", "слово2", "слово3"..], т.е. без тире?
Подскажите как быть в случае, когда нужно сделать массив букв из слова и нет никаких разделителей.
"проба" - "п" "р" "о" "б" "а" , а также как склеить из массива слово (обратная операция)
Строка уже является массивом букв...
Подскажите пожалуйста, как разбить текст без пробелов по кол-ву символов?
например (по 3 символа): исходник - "абвгдеу", на выходе - "абв", "где", "у"
получаю текст от пользователя но при разбиении если в тексте есть спец символы
например
разбивает его на & и nbsp;.что делать, подскажите
Здравствуйте. Подскажите, пожалуйста, почему
Выводит
вместо
?
Уже понял. В базе данных символ < заменялся на
Отсюда и полученный результат
> Подскажите пожалуйста, как разбить текст без пробелов по кол-ву символов?
Подсказываю:
Попробуй экранировать слеш: arr_str = pic_msg.split('<\/a>');
Сделайте то же самое, но через регулярное выражение с сохраняющими скобками. В сохраняющих скобках должен быть код примерно такой (точнее всё-таки его проверьте:
А дальше берёте $1 и вставляете в массив отдельно.
С уважением, Р.Н. Юрьев.
сори
я допустил описку во второй строке, следует читать так
var arr_str =str_ing.split(re);
Мне надо написать класс, который считал бы сегменты. И чтоб он не разделял, например: "как-то", считал за один сегмент. прошу Вас, люди добрые помогите! я представления не имею, как это сделать...
Подскажите, пожалуйста, как можно разбить строку по всем прописным буквам?
Почему вы переводите в "If separator is a regular expression that contains capturing parentheses, then each time separator is matched, the results (including any undefined results) of the capturing parentheses are spliced into the output array. However, not all browsers support this capability." capturing как вложенные? capturing - захватывающие, имеется в виду открывающая и закрывающая скобка.
Доброго времени суток! Подскажите пожалуйста регулярное выражение, что бы получить массив со строки, и исключить "разделитель", что находится внутри скобок. Вот строка:
sel,1,function(par1,par2),2
Результат: "sel","1","function(par1,par2)","2"
Заранее спасибо!
Нашел скрипт, который считает слова в тексте. Слова считаю в XUL textbox.
Все работает при латинице. Однако кириллические буквы и слова не видит. Скрипт привожу ниже.
Как мне посчитать слова на любом языке?
Здравствуйте! Есть один вопрос:
Есть текстовое поле, в которое вводим числа через пробел - целые, дробные, отрицательные - все короче. Нужно найти максимум среди этих чисел.
Есть идея, что нужно строку разбить на элементы, запилить эти элементы в числовой формат и сделать из них массив чисел. А потом уже пробежаться по массиву функцией Math.max.
Подскажите пожалуйста, как из строки чисел сделать массив чисел.... Пожалуйста, помогите! :-)
________________ "Метод split возвращает новый массив."
Вот он массив уже возвращает. А в качестве разделителя используй " "
Люди, помогите, пожалуйста. Есть задача: считать файл, разбить текст по строкам и занести эти строки в массив, методом перебора перебрать все элементы массива и удалить те, в которых есть символ ";", а также убрать пробелы и пустые строки, очищенный массив сохранить в новом файле. Алгоритм как это сделать понимаю, не хватает знаний реализовать это!
"data": {
"new": "[[\"Арбуз\",\"Тыква\",\"\",\"5\",\"\",\"\",\"7\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]]"
}
// Как распарсить вот такую ерунду ?
Подскажите, а если есть строка (я ее достаю как значение ключа из объекта device)
{ "dls":"[\"en\",\"ru\",\"fr\"]" }
Нужно получить точно такой же массив
Как это сделать?
Интересно,а как преобразовать строку в ассоциативный массив?
Подскажите, пожалуйста, как сделать, если нужно, чтобы разделителей было несколько. Например, есть текст:
Приветствуются комментарии:
Полезные.
Дополняющие прочитанное.
Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
Для остальных вопросов и обсуждений есть форум.
Нужно удалить знаки препинания, пробелы и т.п. и на выходе получить токенизированный текст, т.е. только слова:
Приветствуются
комментарии
Полезные
и т.д.