Дополнительно
Как разделить строку, прерывая ее на определенном символе?
У меня есть эта строка
'john smith~123 Street~Apt 4~New York~NY~12345'
Используя JavaScript, какой самый быстрый способ разобрать эту строку на
var name = "john smith";
var street= "123 Street";
//etc...
513
15
С помощью функции JavaScript
String.prototype.split
:Вам не нужен jQuery.
По данным ECMAScript6
ЕС6
чистый путь разрушения массивов:в <!-- начинается фрагмент с JS скрывать: ложные консоли: правда Бабель: правда --&ГТ;
в <!-- конец фрагмента --&ГТ;
Вы можете иметь дополнительные элементы в строке ввода. В этом случае, вы можете использовать оператор остальным, чтобы получить массив для отдыха, или просто игнорировать их:
в <!-- начинается фрагмент с JS скрывать: ложные консоли: правда Бабель: правда --&ГТ;
в <!-- конец фрагмента --&ГТ;
Мне оставалось только для чтения ссылка для значений и используется константный декларацию.
Наслаждайтесь ЕС6!
Хотя это не самый простой способ, вы могли бы сделать это:
Обновление для ES2015, используя деконструкцию
Вы'захотите рассмотреть JavaScript'ы substr или split, так как это не совсем подходящая задача для jQuery.
ну, самый простой способ будет что-то вроде:
Если сплитер нашли тогда только
Разделить его
еще вернуть одной строкой
&ГТ; SplitTheString функции(ResultStr) { &ГТ; если (ResultStr != значение null) { &ГТ; ВАР SplitChars = '~'; &ГТ; если (ResultStr.метод indexOf(SplitChars) &ГТ;= 0) { &ГТ; ВАР DtlStr = ResultStr.сплит(SplitChars); &ГТ; ВАР имя = DtlStr[0]; &ГТ; ВАР ул = DtlStr[1]; &ГТ; } &ГТ; } &ГТ; }
Вы можете использовать "Split", чтобы разбить текст.
В качестве альтернативы, вы можете также использовать "матч" как следовать
в <!-- начинается фрагмент: на JS скрыть: ложь --&ГТ;
в <!-- конец фрагмента --&ГТ;
Регулярное выражение
[^~]+
будет соответствовать все символы, за исключением~
и вернуться к Играм в массив. После этого можно извлечь матчей от него.Что-то вроде:
Вероятно, будет простой
Зак был прав.. с помощью его метода можно также сделать, казалось бы, что "многомерный" в массив.. я создал небольшой пример на JSFiddle http://jsfiddle.net/LcnvJ/2/
Эта строка.Сплит (на"~", У)[0];` получает вещи сделано.
источник: строка.прототип.сплит()
Еще один функциональный подход с использованием Карри и функция композиции.
Поэтому первым делом будет разделить функции. Мы хотим сделать это в
"Джон Смит~123 улица~кв. 4~Нью-Йорк~Нью-Йорк~12345"
В В[и quot;Джон Смит и quot;, "по 123 улицы и quot;, то "КВ 4 и quot;, то "Нью-Йорком" В, С "Нью-Йорк" В, С "12345", у]
Так что теперь мы можем использовать наш специализированный
splitByTilde
функция. Пример:Чтобы получить первый элемент, который мы можем использовать
список[0]
оператор. Позвольте's сборки напервый
функция:Алгоритм: разделенный двоеточием, а затем получить первый элемент данного списка. Поэтому мы можем подготовить этих функций для построения функции нашего окончательного
метод getname
. Строительствосочинять
функцииуменьшить
:И теперь, используя его для создания
splitByTilde
ипервый
функции.Попробовать в обычный JavaScript
Используйте этот код ...
Поскольку расщепление на вопрос запятые дублируется на этот вопрос, добавив Это здесь.
Если вы хотите разделить на персонаже, а также обрабатывать дополнительный пробел, что может последовать за этим персонажем, что часто случается с запятыми, вы можете использовать
заменить на
потомсплит
, как это:ВАР элементов = строка.заменить (я/, и\S+/, &;, то").сплит(',')
JavaScript-кода: преобразование строки в массив JavaScript в Сплит
в <!-- начинается фрагмент с JS скрывать: ложные консоли: правда Бабеля: ложь --&ГТ;
в <!-- конец фрагмента --&ГТ;
https://www.tutsmake.com/javascript-convert-string-to-array-javascript/