Улучшение строковых операций в 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 и будем способствовать совместному обучению!