- Почему не работает split()?
- Split javascript не работает
- Изучаем метод split в JavaScript на примерах
- Что за метод split в Javascript?
- Общий синтаксис метода split в JavaScript
- JavaScript разделение строки по пробелу
- Split с помощью разделителя и ограничителя
- Javascript split по запятой
- JavaScript, split по слешу с помощью регулярного выражения (regex)
- Split по индексу
- Split по регулярному выражению
- Split строки по разделителям
- Split по заглавным буквам
- JavaScript split, чтобы получить первый элемент
- JavaScript split строки на массив
- Javascript split строки на фрагменты
- Преобразование строки в символьный массив с помощью метода разделения строк split
- Получение ошибки: split is not a function?
- Javascript split по новой строке
- String.prototype.split()
- Сводка
- Синтаксис
- Параметры
- Описание
- Примеры
- Пример: использование метода split()
- Пример: удаление пробелов из строки
- Пример: возврат ограниченного числа подстрок
- Пример: захват подгрупп
- Пример: обращение строки при помощи метода split()
- Форум
- Справочник
- split
- Синтаксис
- Аргументы
- Описание, примеры
- См. также
- Давайте разберемся с методами: slice( ), splice( ) и split( ) в JavaScript
- Массивы в JavaScript
- Slice ( )
Почему не работает split()?
HETATM 1 H HOH A 1 27.265 36.739 58.126
HETATM 2 H HOH A 1 27.109 35.124 57.944
HETATM 3 O HOH A 1 27.486 35.958 57.542
.
HETATM 9999 O HOH A3333 30.490 83.899 10.929
END
Но, стандартный .split() почему-то не работает и не хочет делить файл по пробелам, работает только с первым столбцом и выдавая ошибку на последующих: IndexError: list index out of range
Код:
- Вопрос задан 16 дек. 2020
- 117 просмотров
Если ипользуется генератор списков
el = [col.split()[1] for col in water2]
то уже не нужно запускать цикл
for col in water2:
Как уже заметили, ошибка у Вас потому, что последняя строка не содержит пробелов, поэтому индекса 1 при ее разделении не будет.
Отсекайте эту строку (если явно знаете, какие строки не подходят)
el = [col.split()[1] for col in water2[:-1]]
или добавляйте проверку длины списка или количества пробелов.
Чего вы хотели добиться, поставив единичку после метода split?
print (el)
[[‘HETATM’, ‘1’, ‘H’, ‘HOH’, ‘A’, ‘1’, ‘27.265’, ‘36.739’, ‘58.126’],
[‘HETATM’, ‘2’, ‘H’, ‘HOH’, ‘A’, ‘1’, ‘27.109’, ‘35.124’, ‘57.944’],
[‘HETATM’, ‘3’, ‘O’, ‘HOH’, ‘A’, ‘1’, ‘27.486’, ‘35.958’, ‘57.542’]]
Конкретно в вашем случае он скорее всего ругался, когда обрабатывал последнюю строку END. там split возвращает список из одного элемента, а вы обращаетесь ко второму элементу.
Да и for col in water2: тут не нужен.
Источник
Split javascript не работает
Изучаем метод split в JavaScript на примерах
Метод разделения строк Javascript разделяет объект строки на массив строк путем разделения строки на подстроки.
Интересно, как разделить строку на javascript? Ниже приведены варианты метода разделения строк js, о которых вы узнаете в этой заметке.
Что за метод split в Javascript?
Метод JavaScript split() разделяет строку на массив строк путем разделения строки на подстроки:
- метод split используется для разделения строки на массив подстрок.
- метод split возвращает новый массив.
- метод split не изменяет исходную строку.
Общий синтаксис метода split в JavaScript
separator — это необязательный параметр. Он определяет символ, или регулярное выражение. Если вы не предоставите разделитель, он вернет полную строку в виде массива.
limit — это необязательный параметр. Он определяет, сколько раз следует разделить совпадающее значение. Если лимит не указан, то он будет разделен на все совпадающие значения и вернет массив.
Примечание: В разделителе, если используется пустая строка («»), то строка делится между каждым символом.
JavaScript разделение строки по пробелу
Split с помощью разделителя и ограничителя
Javascript split по запятой
Следующий пример иллюстрирует «Как разделить строку, разделенную запятыми, с помощью javascript».
JavaScript, split по слешу с помощью регулярного выражения (regex)
Мы можем разделить строку по слешу, применяя регулярное выражение.
Split по индексу
Следующий пример split функции в JavaScript иллюстрирует «как разделить строку по определённому индексу».
Split по регулярному выражению
Мы можем разделить строку, используя регулярное выражение.
Split строки по разделителям
Split по заглавным буквам
JavaScript split, чтобы получить первый элемент
JavaScript split строки на массив
split() функция расщепляет строку на массив строк, разбивая строку на подстроки.
Если вы хотите разобрать строку JSON в массив, следующий пример иллюстрирует это.
Javascript split строки на фрагменты
Преобразование строки в символьный массив с помощью метода разделения строк split
Получение ошибки: split is not a function?
Вы можете столкнуться с ошибкой «TypeError: string.split is not a function» , это происходит, когда вы вызываете метод split() не на строке, JS runtime не найдет метод .split() для этого типа данных. для таких сценариев вы должны обеспечить передачу строки в вашу функцию.
Приведенный выше отрывок JavaScript выдаст ошибку «TypeError: string.split is not a function», так как здесь мы пытаемся разделить переменную test ( Hello Javascript ), которая не является строковым типом.
Корректное объявление этой split функции должно выглядеть следующим образом:
Здесь мы объявили переменную test строкой (добавили строковые кавычки «» в Hello Javascript), в результате получится Hello, Javascript.
Javascript split по новой строке
Следующий пример вернет массив строк при использовании метода split() разделённые по новой строке (\n).
Источник
String.prototype.split()
Сводка
Метод split() разбивает объект String на массив строк путём разделения строки указанной подстрокой.
Синтаксис
Параметры
Описание
Метод split() возвращает новый массив.
Если разделитель separator найден, он удаляется из строки, а подстроки возвращаются в массиве. Если разделитель опущен, массив будет содержать только один элемент, состоящий из всей строки. Если разделитель является пустой строкой, строка str будет преобразована в массив символов.
Если разделитель является регулярным выражением, содержащим подгруппы, то каждый раз при сопоставлении с разделителем, результаты (включая те, что не определены) захвата подгруппы будут помещаться внутрь выходного массива. Однако, не все браузеры поддерживают эту возможность.
Примеры
Пример: использование метода split()
В следующем примере определяется функция, которая разбивает строку на массив строк, используя указанный разделитель. После разбиения строки, функция отображает сообщения, показывающие оригинальную строку (до разбиения), используемый разделитель, количество элементов в массиве и сами эти элементы.
Пример сгенерирует следующий вывод:
Пример: удаление пробелов из строки
В следующем примере метод split() ищет 0 или более пробелов, за которыми следует точка с запятой, за которой снова следуют 0 или более пробелов, и, если этот шаблон найден, удаляет пробелы из строки. Переменная nameList является массивом, возвращённым в результате работы метода split() .
Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.
Пример: возврат ограниченного числа подстрок
В следующем примере метод split() ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.
Вывод скрипта будет следующим:
Пример: захват подгрупп
Если параметр separator содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.
Вывод скрипта будет следующим:
Пример: обращение строки при помощи метода split()
Бонус: используя оператор === (en-US) , можно проверить, являлась ли строка палиндромом.
Источник
Форум
Справочник
split
Синтаксис
Аргументы
Описание, примеры
Метод split возвращает новый массив.
Строка бьется по separator , при разбивании separator пропадает:
Если separator не указан или совпадений нет, то возвращаемый массив состоит из одного элемента — исходной строки.
Если separator является регулярным выражением со вложенными скобками, то каждый раз при совпадении separator все результаты захвата скобками, включая undefined результаты, добавляются в выходной массив.
Если вызывающая строка пуста, то split возвращает массив из одной пустой строки, а не пустой массив.
Следующий пример делит по ‘,’ и убирает лишние пробелы вокруг запятой.
При делении с ограничением limit — элементы массива свыше limit будут отброшены.
Это поведение отличается от принятого во многих языках програмирования.
Следующий пример иллюстрирует добавление в массив результатов захвата вложенными скобками.
Благодаря скобкам, найденный разделитель separator сохранился и вошел в результирующий массив.
См. также
Можно ли по аналогии с myString.split(/(\d)/)
использовать что-то вроде myString.split(/(\[A-Za-z0-9])/) ?
Естественно это не работает, но что-то в этом духе
Как найти отдельные слова и строчки в кавычках? В поисковых строках обычно когда надо найти фразу, то её берут в кавычки. Например:
word «big phrase»
Такой текст должен быть разделён на два элемента массива:
1) word
2) big phrase
Как это сделать?
Попробуй экранировать слеш: arr_str = pic_msg.split(‘ ‘);
Сделайте то же самое, но через регулярное выражение с сохраняющими скобками. В сохраняющих скобках должен быть код примерно такой (точнее всё-таки его проверьте:
А дальше берёте $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 возвращает новый массив.»
Вот он массив уже возвращает. А в качестве разделителя используй » «
Люди, помогите, пожалуйста. Есть задача: считать файл, разбить текст по строкам и занести эти строки в массив, методом перебора перебрать все элементы массива и удалить те, в которых есть символ «;», а также убрать пробелы и пустые строки, очищенный массив сохранить в новом файле. Алгоритм как это сделать понимаю, не хватает знаний реализовать это!
Подскажите, а если есть строка (я ее достаю как значение ключа из объекта device)
Нужно получить точно такой же массив
Как это сделать?
Интересно,а как преобразовать строку в ассоциативный массив?
Подскажите, пожалуйста, как сделать, если нужно, чтобы разделителей было несколько. Например, есть текст:
Приветствуются комментарии:
Полезные.
Дополняющие прочитанное.
Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
Для остальных вопросов и обсуждений есть форум.
Нужно удалить знаки препинания, пробелы и т.п. и на выходе получить токенизированный текст, т.е. только слова:
Приветствуются
комментарии
Полезные
и т.д.
Источник
Давайте разберемся с методами: slice( ), splice( ) и split( ) в JavaScript
Nov 8, 2018 · 5 min read
Всю пользу встроенных методов JavaScript можно оценить только правильно понимая, как они работают. В этой статье мы разберем три метода: slice (), splice () и split (). Даже опытные разработчики часто их путают: возможно из-за того, что все три названия так похожи.
Студентам и начинающим разработчикам: внимательно прочитайте эту статью—об этих трех методах вас могут спросить на собеседовании.
В конце вы найдете конспект информации о всех трех методах. Давайте начнем.
Массивы в JavaScript
Сперва нужно разобраться, как р аботают массивы JavaScript. Как и в других языках программирования, массивы используются для хранения нескольких единиц данных. Разница в том, что массивы JavaScript могут содержать несколько типов данных одновременно.
Чтобы работать с такими массивами, нам понадобятся JavaScript-методы: например, slice () & splice (). Создать массив можно так:
Теперь создадим другой массив с данными разного типа:
В JavaScript можно создавать массивы с разными типами данных: с числами, строками и логическими значениями.
Примечание: Ключевое слово let используется в ES6. Подробную информацию о ES6 вы найдете здесь.
Slice ( )
Метод slice () копирует заданную часть массива и возвращает эту скопированную часть в виде нового массива. Исходный массив при этом не изменяется.
- From: Нарезает массив начиная с этого элемента
- Until: Нарезает массив до этого элемента
Например, я хочу нарезать первые три элемента из упомянутого выше массива. Первый элемент массива всегда обозначается как 0, поэтому в качестве параметра from я указывают 0.
Дальше начинается часть посложнее. Я хочу нарезать первые три элемента, поэтому в качестве параметра until я указываю 3. Метод slice () не включает последний заданный элемент.
Здесь можно запутаться! Вот почему я объявил “until” .
Наконец я создаю новый массив и связываю его с переменной newArray. Посмотрим результат:
Источник