Справочник по методам строковых JavaScript
- Преобразовать в строку
- Разбить строку на несколько подстрок
- Получить длину строки
- Найдите подстроку в строке
- Заменить подстроку
- Найти персонажа в заданной позиции
- Конкатенация нескольких строк
- Нарезать строку (извлечь подстроку)
- Преобразовать строку в верхний или нижний регистр
- Сопоставление с образцом
- Сравнить две строки для сортировки
- Дальнейшее чтение
При написании JavaScript я часто нахожу себя в поиске информации или использую Ссылка Mozilla чтобы найти точный синтаксис и определения аргументов для методов, связанных со строковыми манипуляциями.
Многие ссылки, с которыми я сталкиваюсь, содержат слишком много информации, поэтому в этом посте будут приведены примеры и краткие описания некоторых из наиболее распространенных и полезных методов, связанных со строками. Я попытался поместить самые распространенные из них сверху, для быстрого ознакомления.
Конечно, большинство опытных разработчиков будут хорошо знакомы со многими из них, но я думаю, что это хороший список для начинающих, чтобы понять диапазон доступных методов, которые могут помочь выполнить сложные операции, используя простой синтаксис.
Преобразовать в строку
Вы можете преобразовать число, логическое значение или объект в строку:
var myNumber = 24; // 24 var myString = myNumber.toString (); // "24"
Как указано в комментариях, вы также можете сделать это с помощью String ():
var myNumber = 24; // 24 var myString = String (myNumber); // "24"
Николас Закас, в Профессиональный JavaScript для веб-разработчиков , говорит: «Если вы не уверены, что значение не является нулевым или неопределенным, вы можете использовать функцию приведения String (), которая всегда возвращает строку независимо от типа значения».
Разбить строку на несколько подстрок
Чтобы разделить строку на массив подстрок, вы можете использовать метод split ():
var myString = "разделяющие запятые"; var substringArray = myString.split (","); // ["ближайшие", "врозь", "в", "the", "запятые"] var arrayLimited = myString.split (",", 3); // ["идет", "врозь", "в"]
Как показано в последней строке, второй необязательный аргумент ограничивает массив количеством элементов, указанных аргументом.
Получить длину строки
Чтобы узнать, сколько символов длиной строки, используйте свойство length:
var myString = "Вы довольно характер."; var stringLength = myString.length; // 25
Примечание: для любого метода, который имеет дело с отдельными символами, см. Комментарий Матиаса и его статья о Кодировка JavaScript ,
Найдите подстроку в строке
Есть два способа сделать это.
Использование indexOf ():
var stringOne = "Джонни Уолдо Харрисон Уолдо"; var wheresWaldo = stringOne.indexOf ("Waldo"); // 7
Метод indexOf () начинает поиск подстроки (первый переданный аргумент) с начала строки и возвращает позицию начала первого вхождения подстроки.
Использование lastIndexOf ():
var stringOne = "Джонни Уолдо Харрисон Уолдо"; var wheresWaldo = stringOne.lastIndexOf ("Waldo"); // 22
Метод lastIndexOf () точно такой же, за исключением того, что он возвращает начальную позицию последнего вхождения переданной подстроки.
В обоих методах, если подстрока не найдена, возвращаемое значение равно -1, и оба позволяют необязательный второй аргумент, указывающий позицию в строке, с которой вы хотите начать поиск. Таким образом, со вторым аргументом «5» indexOf () начинает поиск с символа 5, игнорируя символы 0-4, в то время как lastIndexOf () начинает поиск с символа 5 и переходит наоборот, игнорируя символы 6 и выше.
Заменить подстроку
Чтобы заменить часть или всю строку новой строкой, вы можете использовать replace ():
var slugger = "Джош Гамильтон"; var betterSlugger = slugger.replace ("h Hamilton", "e Bautista"); console.log (betterSlugger); // "Хосе Баутиста"
Первый аргумент - это подстрока, которую вы хотите заменить, а второй аргумент - новая подстрока. Это заменит только первый экземпляр совпадающей подстроки.
Чтобы заменить все экземпляры совпадающей подстроки, используйте регулярное выражение с глобальным флагом:
var myString = "Она продает автомобильные снаряды на автомобильном берегу"; var newString = myString.replace (/ automotive / g, "sea"); console.log (NewString); // «Она продает морские раковины на берегу моря»
Второй аргумент может включать специальные шаблоны замены или может быть функцией. Больше информации об этих опциях по справке MDN ,
Найти персонажа в заданной позиции
Чтобы узнать, какой символ находится в указанной позиции, вы можете использовать charAt ():
var myString = "Птицы пера"; var whatsAtSeven = myString.charAt (7); // "f"
Как это часто бывает в JavaScript, на первую позицию в строке ссылается «0», а не «1».
В качестве альтернативы вы можете использовать charCodeAt (), который дает вам код символа, а не сам символ:
var myString = "Птицы пера"; var whatsAtSeven = myString.charCodeAt (7); // "102" var whatsAtEleven = myString.charCodeAt (11); // "70"
Обратите внимание, что код символа для заглавной буквы «F» (позиция 11) отличается от кода символа для заглавной буквы «f» (позиция 7).
Конкатенация нескольких строк
По большей части, когда вы объединяете строки, вы будете использовать оператор сложения (+). Но у вас также есть возможность использовать метод concat ():
var stringOne = "Knibb High football"; var stringTwo = stringOne.concat ("rules."); // "Knibb Высокие футбольные правила"
Вы также можете передать в нее несколько строк, и все они будут добавлены (в порядке их появления) к исходной строке:
var stringOne = "Knibb"; var stringTwo = "Высокий"; var stringThree = "football"; var stringFour = "rules."; var finalString = stringOne.concat (stringTwo, stringThree, stringFour); console.log (finalString); // «Knibb Высокие футбольные правила».
Нарезать строку (извлечь подстроку)
Существует три разных способа создания нового строкового значения из части другой строки:
Используя slice ():
var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice (5, 10); // "фгидж"
Используя substring ():
var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring (5, 10); // "фгидж"
И для slice (), и для substring () первый аргумент - это символ, с которого начинается подстрока (опять же с нумерацией), а второй аргумент (который является необязательным) - это символ в строке после того, как вы хотите подстроку в конец. Таким образом, в приведенных выше примерах аргументы «5, 10» означают, что символы с 5 по 9 «нарезаются» для создания новой строки.
Использование substr ()
var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr (5, 10); // "фгхиклмно"
Для substr () первый аргумент снова представляет символ, начинающий новую строку, а второй аргумент является необязательным. Но на этот раз второй аргумент представляет общее количество символов, которое должно быть включено, начиная с символа в позиции «5».
Преобразовать строку в верхний или нижний регистр
Существует четыре метода преобразования регистра. Два для преобразования строки в верхний регистр:
var stringOne = "Говори, я тебя не слышу."; var stringTwo = stringOne.toLocaleUpperCase (); // "ГОВОРИТЬ, Я НЕ СЛУШАЮ ВАС" var stringThree = stringOne.toUpperCase (); // "ГОВОРИТ, Я НЕ СЛУШАЮ ВАС"
И два для преобразования строки в нижний регистр:
var stringOne = "ВАМ НЕ ТРЕБУЕТСЯ"; var stringTwo = stringOne.toLocaleLowerCase (); // "Вам не нужно кричать" var stringThree = stringOne.toLowerCase (); // "не надо кричать"
Как правило, результаты между методом «locale» и методом non-locale совпадают, но согласно справке MDN «Для некоторых локалей, таких как турецкий, чьи сопоставления регистров не соответствуют сопоставлениям регистров по умолчанию в Юникоде, может быть другой результат». Книга Закаса говорит: «если вы не знаете язык, на котором будет выполняться код, безопаснее использовать методы, зависящие от локали».
Сопоставление с образцом
Сопоставление шаблона в строке может быть выполнено с помощью одного из двух методов, которые в основном работают одинаково.
Метод match () вызывается для строки и передается регулярным выражением:
var myString = "Сколько дров можно зарезать?"; var myPattern = /.ood/; var myResult = myString.match (myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Сколько дерева мог бы потрёкать"
И метод exec () вызывается для объекта RegExp и передается строка:
var myString = "Сколько дров можно зарезать?"; var myPattern = /.huck/; var myResult = myPattern.exec (myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Сколько дров можно зарезать?"
Для обоих методов возвращается только первое совпадение. Если совпадение не найдено, возвращается ноль.
Вы также можете использовать метод search (), который принимает регулярное выражение в качестве единственного аргумента и возвращает местоположение первого вхождения шаблона:
var myString = "Assume"; var patternLocation = myString.search (/ ume /); // 3
Если совпадений не найдено, метод возвращает «-1».
Сравнить две строки для сортировки
Вы можете сравнить две строки, чтобы увидеть, какая из них идет в алфавитном порядке, используя localeCompare, с тремя возможными возвращаемыми значениями:
var myString = "курица"; var myStringTwo = "egg"; var whichCameFirst = myString.localeCompare (myStringTwo); // -1 (кроме Chrome, который возвращает -2) whichCameFirst = myString.localeCompare ("chicken"); // 0 whichCameFirst = myString.localeCompare ("apple"); // 1 (Chrome возвращает 2)
Как показано выше, отрицательное число возвращается, если строковый аргумент идет после исходной строки, положительное число возвращается, если строковый аргумент предшествует, и 0 возвращается, если строки равны.
Поскольку браузер может вернуть любое отрицательное число или любое положительное число для результатов до и после ( спецификация не требует ничего конкретного), при проверке значения лучше использовать if (result <0), а не if (result === -1), последний из которых не будет работать в Chrome.
Дальнейшее чтение
Если вы заметили какие-либо ошибки, упущения или неполную информацию, пожалуйста, прокомментируйте, и я обновлю соответственно. Между тем, если вы хотите больше узнать о связях со строками в JavaScript, вот несколько источников:
Похожие
Конфликты JavascriptЕсли вы запускаете Joomla! или подобная CMS, где вы можете установить больше различных расширений, может случиться, что какая-то часть вашего сайта будет работать некорректно из-за конфликта Javascript. Что это значит? Например в Joomla! (но, конечно, это может произойти в любой сложной системе), вы можете установить плагины, модули, компоненты и шаблоны. Такие части системы могут использовать разные библиотеки Javascript, которые могут конфликтовать друг с другом. Большие шорты или короткое падение рынка
Новая книга Майкла Льюиса - легко читаемая трагикомедия о сложном мире хедж-фондов, пишет о «Большой шорт» Джо Фредерика, как он говорит о себе, розничном банкире. Майкл Льюис, «WW Norton & Company», 2010, «Большой шорт: внутри машины Судного дня» Майкл Льюис, «WW Norton & Company», 2010, Это способ подключения iPhone или iPad к телевизору (беспроводному или кабельному).
Если у вас есть один IPad или у вас есть iPhone, вы, естественно, хотите просматривать свои собственные фото и видео, сериалы и фильмы на своем телевизоре. Но как именно ты это делаешь? Мы объясним, как подключить ваш iPad или iPhone к телевизору. Идеальный адаптер для вашего iPhone или iPad Самый простой способ повесить iPhone или iPad на вашем телевизоре, вероятно, с Как добавить фотографии с телефона Android в Google Drive?
Google Drive - это виртуальный диск в облаке, задача которого - конкурировать с чрезвычайно популярным Dropbox , В Google Диске есть много полезных функций, благодаря которым вы, несомненно, подумаете об его использовании. Прежде всего, Google Drive документы Google, поэтому возможность создавать и обмениваться текстовыми файлами или электронными таблицами. Google Drive также может быть хорошим Цикл событий JavaScript
... вас был шанс поиграть в DOM, и он позволяет вам делать довольно интересные вещи. Но вы действительно увидите всю мощь jQuery, когда узнаете о событиях в браузере. Если манипулирование DOM - это хлеб с маслом, события - это торт. Ваш браузер - это один большой бесконечный цикл. Он ждет, чтобы вы все время что-то делали, и когда вы это делаете, он запускает «События», чтобы описать то, что вы только что сделали. Некоторые события генерируются пользователем, такие как щелчок, зависание, Визуальный эффект в JavaScript «пузыри» как интересное дополнение к сайту
Визуальный эффект в JavaScript «пузыри» как интересное дополнение к сайту 4,8 (95%) 4 Оживление сайта с привлекательной привязкой, такой как визуальный эффект в JavaScript, обычно не является хорошей идеей. Однако есть проекты, в которых привлекательный фон может помочь интересам получателя или, возможно, вы просто хотите разориться. Есть люди, которые думают, что сайт без анимированных элементов или видео - это что-то немодное или даже архаичное. Мы представим Как использовать флэш-накопитель USB с телефоном или планшетом Android
Вы когда-нибудь хотели посмотреть видео на своем телефоне или планшете, не теряя места на диске? Или, может быть, вам просто нужно посмотреть файл, который дал вам ваш друг. Большинство современных устройств Android поддерживают стандартные USB-накопители, поэтому вы можете Размеры шин Доставка и возврат БЕСПЛАТНО Tirendo.pl
Размер шин - пример На следующей инфографике вы можете легко найти размер шины, а также все другие соответствующие параметры и информацию, например, индекс скорости и индекс нагрузки , Размер шин находится под номером «3» . Домашний Wi-Fi на стероидах или тест усилителя сигнала FRITZ! WLAN Repeater 1750E
У вас есть большая квартира или дом, и сеть Wi-Fi не охватывает все комнаты? Для этого есть решение - усилитель сигнала. Устройства для увеличения покрытия WLAN не являются чем-то новым. Они отличаются по техническим аспектам, могут поддерживать разные стандарты, работать в разных диапазонах и предлагают больший или меньший охват. Протестированный FRITZ! WLAN Repeater 1750E имеет высокие показатели, и немецкий производитель позаботился о том, чтобы устройство соответствовало Создай и распечатай свою футболку »bandyshirt.com
... вание клиентов! У вас есть вопросы о продукте или дизайне? Вы! Мы рады помочь вам. Наша команда обслуживания клиентов доступна по телефону с понедельника по пятницу с 10:00 до 17:00. Бесплатно по 0721 98 19 3640. Кроме того, вы можете прочитать наиболее распространенные вопросы и решения в нашем справочном центре или связаться с нами по электронной почте customer PWA - (r) эволюция программного обеспечения, которую мало кто понимает
Мир приложений, как компьютерных, так и мобильных, огромен. У нас есть несколько ведущих операционных систем, и для каждой из них доступны миллионы приложений и игр. Часто бывает так, что существующие на одной платформе игнорируются на других или не доступны вообще. И дело не в том, чтобы купить iPhone для одного приложения. В последнее время (более или менее в веб-индустрии в течение достаточно длительного времени) все больше и больше говорят о стандарте PWA. Прогрессивные веб-приложения,
Комментарии
Продолжить чтение: НДС или налог с продаж?Возможно, некоторые из вас не знают, но популярная программа WinRAR, которая, вероятно, находится на вашем жестком диске, вообще говоря, не является бесплатной программой. Лицензия WinRAR является условно-бесплатной и предоставляет 40 дней бесплатного доступа к приложению. По истечении этого времени создателю следует заплатить за возможность использования программы, о чем также свидетельствует всплывающее окно при ее запуске, многими людьми с почти автоматическими рефлексами, Или тапочки?
Или тапочки? Или, может быть, она читает одного из блогеров, чьи книги я хотел бы получить? Либо она любительница ремесел и ее ногти не делают, но обычные штампы больше всего нравятся? А как ваши рождественские пожелания, девочки? Что бы вы хотели получить под елку? И прежде всего, знает ли ваш частный Санта-Клар об этом? ;) В приведенном выше посте некоторые ссылки являются партнерскими ссылками. Если вы нажмете на это и купите что-нибудь в своем магазине Знаете ли вы, что в Noclegowo можно найти конкретные объекты, используя поисковую систему на главной странице или в верхней панели любой другой подстраницы?
Знаете ли вы, что в Noclegowo можно найти конкретные объекты, используя поисковую систему на главной странице или в верхней панели любой другой подстраницы? По этой причине стоит использовать собственное имя объекта. Благодаря этому гости, которые помнят вас просто по имени, очень быстро, прямо из поисковой системы, перейдут прямо к вашему предложению. Помните об ограничениях. В разделе Размещение название предложения может содержать не более 40 символов, включая пробелы. Жалко тратить Иногда я даже удивляюсь, или, может быть, эти бумажные тома, коробки и диски не так уж плохи?
Иногда я даже удивляюсь, или, может быть, эти бумажные тома, коробки и диски не так уж плохи? В то время, однако, я вспоминаю друга, у которого не было эффективного интернет-соединения, который он специально ездил по городу за коробкой с аксессуарами Skyrim, поэтому, когда пакет был открыт, они могли найти только листок бумаги с кодом Steam. Ну, видимо у нас такой климат. И я знаю, что эта запись немного напоминает первую проблему в мире и кучу сожалений, но я не имею в виду избавление Png bognam 2016-09-09 13:28:56 2016-09-21 17:37:50 Паровая баня или финская сауна?
png bognam 2016-09-09 13:28:56 2016-09-21 17:37:50 Паровая баня или финская сауна? Какой из них вы выбираете? https://www.homesquare.pl/files/uploads/2016/08/Domowa-strefa-spa.jpg 493 900 bognam https://www.homesquare.pl/files/uploads/2016/10/Logo-HomeSquare- PNG.png bognam 2016-08-24 15:38:57 2016-09-22 09:16:24 Винный погреб, зона отдыха и развлечений - зачем выбирать дом с подвалом У вас есть вопросы о продукте или дизайне?
У вас есть вопросы о продукте или дизайне? Вы! Мы рады помочь вам. Наша команда обслуживания клиентов доступна по телефону с понедельника по пятницу с 10:00 до 17:00. Бесплатно по 0721 98 19 3640. Кроме того, вы можете прочитать наиболее распространенные вопросы и решения в нашем справочном центре или связаться с нами по электронной почте customer [email protected]. Мы хотим обеспечить наилучшее обслуживание клиентов и постараемся ответить на вопросы Бумага в цифровой печати - одна для всех или специальные типы бумаги?
Бумага в цифровой печати - одна для всех или специальные типы бумаги? Электронное досье «Бумага в цифровой печати: где тенденция?» Объясняет, как производители оборудования, поставщики бумаги и принтеры видят тенденции на рынке бумаги. ⇒ Дополнительная информация и заказ, нажав на картинку! Они лучше для классических или современных интерьеров?
Они лучше для классических или современных интерьеров? Вот краткий обзор наиболее интересных моделей и предложений по размещению с использованием случайных таблиц! Случайные офисные столы Как гласит популярное изречение: дьявол кроется в деталях. Руководители часто сосредотачиваются на цветах стен, удобных креслах и столах для сотрудников или на элегантном приеме, но часто забывают о других, небольших элементах декора. Случайные столы У вас есть вирус с рекламой, который отображает нежелательные баннеры и новые окна в Chrome, Firefox или других браузерах?
У вас есть вирус с рекламой, который отображает нежелательные баннеры и новые окна в Chrome, Firefox или других браузерах? Мы покажем, как эффективно очистить компьютер от вирусов этого типа - шаг за шагом. Вирусы с рекламой - это так называемые рекламное Это отсутствие видимых результатов, нехватка времени на обучение или нехватка средств для оплаты обучения?
Это отсутствие видимых результатов, нехватка времени на обучение или нехватка средств для оплаты обучения? A: Правильный ответ - отсутствие видимых результатов. Каждый из нас хочет иметь возможность проверить свои языковые навыки на практике, чтобы иметь доказательства того, что дальнейшее обучение имеет смысл. В: Правда ли, что существуют методы, которые могут значительно улучшить изучение английского языка и достичь гораздо лучших результатов, чем традиционные методы? » и «Почему я вижу только несколько серверов?
» и «Почему я вижу только несколько серверов?» Ничего общего с приложением для iOS, информацией о настройке или устранении неполадок, которую вы действительно хотите прочитать. Если веб-сайт вас не впечатлил, Гус говорит, что вы можете связаться со службой поддержки 34/7/365 через чат, электронную почту или веб-форму. Звучит отлично, поэтому мы открыли окно чата, разместили вопрос и получили очень похожий на бот ответ: «У вас могут возникнуть проблемы с использованием
Input // "Сколько дров можно зарезать?
Что это значит?
Но как именно ты это делаешь?
У вас есть вопросы о продукте или дизайне?
Или тапочки?
Или, может быть, она читает одного из блогеров, чьи книги я хотел бы получить?
Либо она любительница ремесел и ее ногти не делают, но обычные штампы больше всего нравятся?
А как ваши рождественские пожелания, девочки?
Что бы вы хотели получить под елку?
И прежде всего, знает ли ваш частный Санта-Клар об этом?