Улучшение строковых операций в JavaScript: глубокое погружение в строковые методы JavaScript
Привет, ребята! В моих предыдущих статьях мы говорили о Типах данных, поддерживаемых JavaScript. Там мы говорили о типе данных String. Напомним, что строка является примитивным типом данных и представляет собой текстовые данные, заключенные в одинарные кавычки (‘’)
или двойные кавычки (“”)
. В этой истории мы поговорим о различных полезных строковых методах.
Теперь, когда дело доходит до String Mehods, JavaScript предоставляет несколько встроенных методов, и мы рассмотрим большинство из них один за другим в примере ниже.
Что такое статические строковые методы JavaScript?
В JavaScript объект String
имеет несколько статических методов, которые можно вызывать непосредственно для самого объекта String
, а не для экземпляра строки. Эти статические методы предоставляют функциональные возможности, связанные с обработкой строк, поиском и форматированием. Вот некоторые часто используемые статические методы String.fromCharCode(), String.fromCodePoint() и String.raw().
String.fromCharCode()
fromCharCode()
— это статический метод объекта String
в JavaScript. Он преобразует значения Unicode в символы и возвращает новую строку на основе указанных значений Unicode.
console.log(String.fromCharCode(65, 66, 67)); // Output: 'ABC'
В приведенном выше примере fromCharCode()
принимает три значения Unicode (65, 66, 67) в качестве аргументов и преобразует их в соответствующие символы. Результирующая строка 'ABC'
. Это поможет нам преобразовать уникальный код в строку.
String.fromCodePoint()
String.fromCodePoint()
— это статический метод объекта String
в JavaScript. Это позволяет вам создать строку из последовательности кодовых точек Unicode. Вот как это работает:
console.log(String.fromCodePoint(65, 66, 67)); // Output: 'ABC'
В приведенном выше примере fromCodePoint()
принимает три кодовые точки Unicode (65, 66, 67) в качестве аргументов и создает строку, преобразуя каждую кодовую точку в соответствующий символ. Результирующая строка — 'ABC'
.
Метод String.fromCodePoint()
полезен при работе с кодовыми точками Unicode, которые представляют символы вне базовой многоязычной плоскости (BMP). Он предоставляет способ создания строк из таких кодовых точек, обеспечивая правильное представление и обработку символов из различных блоков Unicode.
Строка.raw()
String.raw()
— это статический метод объекта String
в JavaScript. Он используется для создания необработанной строки путем указания литералов шаблона без интерпретации управляющих последовательностей. Вот как это работает:
const path = String.raw`C:\Users\Username\Desktop\file.txt`; console.log(path); // Output: C:\Users\Username\Desktop\file.txt
В приведенном выше примере String.raw()
используется как функция тега для литерала шаблона. Литерал шаблона обозначается обратными кавычками (`), а тег String.raw
указывает, что управляющие последовательности в шаблоне следует рассматривать как литеральные символы. Это позволяет создавать строки с обратной косой чертой или другими escape-последовательностями без их интерпретации.
Метод String.raw()
особенно полезен при работе с путями к файлам, регулярными выражениями или в любой ситуации, когда вы хотите сохранить точные символы, указанные в template literal
, без какой-либо интерпретации или обработки escape-последовательностей.
Что такое методы экземпляра строки JavaScript?
В JavaScript экземпляры строк имеют несколько встроенных методов, которые можно вызывать для отдельных строковых значений. Эти методы экземпляра предоставляют функциональные возможности для манипулирования строками, поиска, нарезки и многого другого.
Давайте посмотрим на некоторые методы экземпляра строки JavaScript.
конкат():
Метод concat()
— это метод экземпляра строкового типа данных в JavaScript. Он используется для объединения двух или более строк вместе, создавая новую строку, содержащую объединенное содержимое.
const str1 = 'Hello'; const str2 = 'World'; const str3 = ' '; console.log(str1.concat(str2)); // Output: 'HelloWorld' console.log(str1.concat(' ', str2)); // Output: 'Hello World' console.log(str1.concat(str3, str2)); // Output: 'Hello World'
подстрока():
Метод substring()
— это метод экземпляра строкового типа данных в JavaScript. Он используется для извлечения части строки на основе указанного начального и конечного индексов.
const str = 'Hello World'; console.log(str.substring(6, 11)); // Output: 'World'
Если указан только один аргумент, substring()
вернет подстроку от указанного начального индекса до конца строки.
const str = 'Hello World'; console.log(str.substring(6)); // Output: 'World'
Метод substring()
в JavaScript не поддерживает отрицательные значения индекса. Если в качестве аргументов указаны отрицательные значения, они будут обработаны как 0, что приведет к извлечению подстроки из начала строки.
const str = 'Hello World'; console.log(str.substring(-6, 2)); // "He" console.log(str.substring(-6, -2)); // ""
символ():
Возвращает символ по указанному индексу в строке. Если индекс выходит за пределы диапазона (меньше 0 или больше или равен длине строки), будет возвращена пустая строка.
const str = 'Hello'; console.log(str.charAt(1)); // Output: 'e' console.log(str.charAt(10)); // Output: ''
индекс чего-либо():
Возвращает индекс первого вхождения указанной подстроки в строку.
const str = 'Hello World'; console.log(str.indexOf('o')); // Output: 4 console.log(str.indexOf('Hello')); // Output: 0
Если указанная подстрока не найдена в строке, метод indexOf()
возвращает -1.
Метод indexOf()
чувствителен к регистру.
const str = 'Hello World'; console.log(str.indexOf('z')); // Output: -1 console.log(str.indexOf('hello')); // Output: -1
мы также можем указать необязательный второй параметр для метода indexOf()
, указав начальный индекс для поиска.
const str = 'Hello World'; console.log(str.indexOf('o', 5)); // Output: 7
расколоть():
Метод split()
— это метод экземпляра строкового типа данных в JavaScript. Он используется для разделения строки на массив подстрок на основе указанного разделителя.
Метод split()
можно использовать с различными разделителями, такими как пробелы, запятые или любой другой символ или строка.
Мы можем добавить ограничение на split()
после разделителя.
const str1 = 'Hello World'; console.log(str1.split(' ')); // Output: ['Hello', 'World'] const str2 = 'Apple, Banana, Orange'; console.log(str2.split(', ')); // Output: ['Apple', 'Banana', 'Orange'] const str3= "Hello World. How are you doing?"; console.log(str3.split(" ", 3)); // ['Hello', 'World.', 'How']
подрезать():
Метод trim()
— это метод экземпляра строкового типа данных в JavaScript. Он используется для удаления начальных и конечных пробелов из строки.
const str = ' Hello '; console.log(str.trim()); // Output: 'Hello'
Доступно несколько вариантов trim()
:
trimStart()
илиtrimLeft()
: удаляет начальные пробелы.trimEnd()
илиtrimRight()
: удаляет завершающие пробелы.
trimStart() или trimLeft()
Методы trimStart()
и trimLeft()
являются методами экземпляра строкового типа данных в JavaScript. Они используются для удаления начального пробела слева от строки или, другими словами, от начала строки.
const str = ' Hello '; console.log(str.trimStart()); // Output: 'Hello '
trimEnd() или trimRight()
Методы trimEnd()
и trimRight()
являются методами экземпляра строкового типа данных в JavaScript. Они используются для удаления ведущего пробела справа от строки или, другими словами, с конца строки.
const str = ' Hello '; console.log(str.trimEnd()); // Output: ' Hello'
заменять():
Метод replace()
используется для замены вхождений указанной подстроки в строке другой подстрокой.
const str = 'Hello World'; console.log(str.replace('World', 'Universe')); // Output: 'Hello Universe'
Метод replace()
по умолчанию заменяет только первое вхождение. Чтобы заменить все вхождения, вы можете использовать регулярное выражение с глобальным флагом (/g
).
const str = 'Hello World Hello'; console.log(str.replace(/Hello/g, 'Hi')); // Output: 'Hi World Hi'
toUpperCase():
Метод toUpperCase()
используется для преобразования строки в буквы верхнего регистра.
const str = 'hello'; console.log(str.toUpperCase()); // Output: 'HELLO'
Метод toUpperCase()
особенно полезен, когда вам нужно обеспечить согласованность регистра или выполнить сравнение строк без учета регистра.
const str1 = 'Hello'; const str2 = 'hello'; console.log(str1.toUpperCase() === str2.toUpperCase()); // Output: true
в нижний регистр():
Метод toLowerCase()
используется для преобразования строки в строчные буквы.
const str = 'WORLD'; console.log(str.toLowerCase()); // Output: 'world'
Так же, как метод toUpperCase()
, метод toLowerCase()
особенно полезен, когда вам нужно обеспечить согласованность регистра или выполнять строковые операции без учета регистра.
const str1 = 'Hello'; const str2 = 'hello'; console.log(str1.toLowerCase() === str2.toLowerCase()); // Output: true
кусочек():
Этот метод позволяет извлечь часть строки на основе предоставленных startIndex
и endIndex
. Если вы опустите endIndex
, будет извлечена часть от startIndex
до конца строки.
const str = 'Hello World'; console.log(str.slice(6, 11)); // Output: 'World'
начинается с():
С помощью этого метода вы можете проверить, начинается ли строка с заданного substring
. При желании вы можете указать position
, с которого следует начать проверку. Например, вы можете проверить, начинается ли строка с «Hello», используя startsWith("Hello")
.
const str = 'Hello World'; console.log(str.startsWith('Hello')); // Output: true
заканчивается с()
Этот метод проверяет, заканчивается ли строка указанным substring
. Вы также можете указать length
, чтобы рассматривать только первые символы строки для сравнения.
const str = 'Hello World'; console.log(str.endsWith('World')); // Output: true
включает в себя():
Используйте этот метод, чтобы определить, присутствует ли данный substring
где-либо в строке. Вы можете указать position
, чтобы начать поиск с определенного индекса. Если строка содержит «яблоко», вы можете проверить это с помощью includes("apple")
.
const str = 'Hello World'; console.log(str.includes('World')); // Output: true
символ():
Этот метод возвращает символ с указанным index
в строке. Если строка «Привет», charAt(2)
даст вам «l».
const str = 'Hello'; console.log(str.charCodeAt(0)); // Output: 72
padStart()
Он дополняет начало строки padString
, пока не достигнет targetLength
. Например, padStart(10, "X")
в «Привет» вернет «XXXXXHello».
const str = 'Hello'; console.log(str.padStart(10, 'X')); // Output: 'XXXXXHello'
padEnd():
Подобно padStart()
, этот метод дополняет конец строки padString
до тех пор, пока не достигнет targetLength
. Например, padEnd(10, "X")
в строке «Hello» вернет «HelloXXXXX».
const str = 'Hello'; console.log(str.padEnd(10, 'X')); // Output: 'HelloXXXXX'
повторить():
Этот метод создает новую строку, повторяя исходную строку count
раз. Например, "Hello".repeat(3)
выдаст «HelloHelloHello».
const str = 'Hello'; console.log(str.repeat(3)); // Output: 'HelloHelloHello'
toLocaleUpperCase():
Этот метод преобразует строку в буквы верхнего регистра в соответствии с текущей локалью. Специфичные для локали правила определяют, как определенные символы преобразуются в верхний регистр.
const str = 'äpfel'; console.log(str.toLocaleUpperCase('de-DE')); // Output: 'ÄPFEL'
Для лучшего понимания вы можете прочитать статью developer.mozilla!
toLocaleLowerCase():
Подобно toLocaleUpperCase()
, этот метод преобразует строку в строчные буквы в зависимости от текущей локали. Он соблюдает специфические для локали правила преобразования нижнего регистра.
const str = 'ÄPFEL'; console.log(str.toLocaleLowerCase('de-DE')); // Output: 'äpfel'
Для лучшего понимания вы можете прочитать статью developer.mozilla!
startWith(подстрока, позиция):
Метод startsWith()
проверяет, начинается ли строка с указанного substring
. При желании вы можете указать position
, чтобы начать проверку с определенного индекса.
Возвращает true
, если строка начинается с подстроки; иначе false
.
const str = 'Hello World'; console.log(str.startsWith('Hello')); // Output: true console.log(str1.startsWith('Hello', 3)); // Output: false
endWith(подстрока, длина):
Метод endsWith()
проверяет, заканчивается ли строка указанным substring
. При желании вы можете указать end position
, по которому ожидается найти searchString
.
Возвращает true
, если строка заканчивается подстрокой; иначе false
.
const str = 'Hello World'; console.log(str.endsWith('World')); // Output: true console.log(str.endsWith('World', 11)); // Output: true
replaceAll(строка, replaceValue):
Метод replaceAll()
значений String
возвращает новую строку, в которой все совпадения string
заменены на replaceValue
.
const str = 'Hello, Hello, World'; const newStr = str.replaceAll('Hello', 'Hi'); console.log(newStr); // Output: 'Hi, Hi, World'
совпадение (регулярное выражение):
ищет в строке совпадение с регулярным выражением (regexp
). Он возвращает массив совпадений или null
, если совпадений не найдено.
const str = 'Hello World'; console.log(str.match(/o/g)); // Output: ['o', 'o'] // Example from developer.mozilla const paragraph = 'The quick brown fox jumps over the lazy dog. It barked.'; console.log(paragraph.match(/[A-Z]/g)); // Output: Array ['T', 'I']
поиск (регулярное выражение):
Ищет совпадение с регулярным выражением (regexp
) в строке. Он возвращает индекс первого совпадения или -1
, если совпадений не найдено.
const str = 'Hello World'; console.log(str.search(/o/)); // Output: 4
Ссылка
Я узнал больше о строковых методах, когда работал над моей последней историей, где рассказывал о типах данных JavaScript. В этой истории я собираю знания о строковых методах JavaScript; В этом процессе ссылались на различные источники, такие как programiz.com, developer.mozilla.org, поиск Google, чат GPT и моя предыдущая история. Ваши идеи и вклад высоко ценятся! Я приглашаю вас принять активное участие в обсуждении, оставив свои мысли и комментарии в специальном разделе комментариев ниже. Вместе мы углубим наше понимание типов данных JavaScript и будем способствовать совместному обучению!