Приветствую всех читателей блога scriptcoding.ru В этой статье мы рассмотрим встроенный объект jscript – String, который отвечает за обработку текста.
Внутренний класс js String языка программирования JSCRIPT сервера сценариев Windows Script Host предоставляет методы для работы со строками, например, поиск подстроки, парсинг или замена. У него есть одно свойство length, которое возвращает длину строки. Нужно помнить, что нумерация символов начинается с нуля. Для объявления класса нет необходимости использовать ключевое слово new и String.
Давайте рассмотрим простой пример:
//************************************* // Объект js String // js строковые функции // length_string.js //************************************* var s1, s2; s1 = "простой текст"; s2 = new String("простой текст"); WScript.Echo (s1.length + "\n" + s2.length); |
Видим, что тут мы объявили две переменные s1 и s2, обе хранят текстовое значение «простой текст«, с помощью свойства length мы определили их длину. Как видим, можно использовать как упрощенный формат, так и более громоздкий (ключевые слова new).
Давайте рассмотрим основные методы класса String.
Методы класса String JS
s.charAt(index) – Получить символ с заданным индексом (index) из s.
//************************************* // Класс js String // функции работы со строками js // charAt_string.js //************************************* var MyStr = "С Новым Годом", MyChar; MyChar = MyStr.charAt(5); WScript.Echo (MyChar); |
s.charCodeAt(index) – Извлекаем заданный код символа в кодировке Unicode через его индекс (index) из s.
//************************************* // Объект js String // получение кода символа из строки // Юникод формат // charCodeAt_string.js //************************************* var my_str = "Программирование скриптов", MyChar; MyChar = my_str.charCodeAt(5); WScript.Echo (MyChar); |
s1.concat(s2) – Конкатенация (объединение) s1и s2.
//************************************* // Класс js String // конкатенация строк // concat_string.js //************************************* var MyStr1 = "один ", MyStr2 = "два", MyStrResult; MyStrResult = MyStr1.concat(MyStr2); WScript.Echo (MyStrResult); |
String.fromCharCode(c1,…,cN) — Сформировать unicode-строку. Вместо символов мы прописывает коды Unicode.
//************************************* // Объект js String // Формирование строки // js строковые функции // fromCharCode_string.js //************************************* var MyResult; //вернет hello MyResult = String.fromCharCode(104, 101, 108, 108, 111); WScript.Echo (MyResult); |
s.indexOf(substr, startindex) – Данный метод js String класса позволяет производить поиск подстроки substr в строке s. Параметр startindex задает номер знака, с которого следует начинать поиск, если данный параметр отсутствует, то поиск производится с самого начала. Сам процесс происходит слева на право. indexOf возвращает число – индекс знака, начиная с которого найдено вхождение, если ничего не найдено, то будет возвращено значение -1. Не забываем, что нумерация символов начинается с нуля.
//************************************* // объект js String // Поиск в строке // indexOf_string.js //************************************* var MyStr= "один, два, три и четыре", MyResult; MyResult= MyStr.indexOf("два", 2); WScript.Echo (MyResult); |
s.lastIndexOf(substr, startindex) – Аналогично indexOf, но искать будем в обратном порядке.
//************************************* // js String // ищем слово // функции работы со строками js // lastIndexOf_string.js //************************************* var MyStr2 = "один, два, три и четыре"; MyResult 1= MyStr2.lastIndexOf("два"); WScript.Echo (MyResult1); |
s.match(rgExp) – Данный метод js класса String позволяет искать в тексте s, используя регулярные выражения (rgExp). В результате, будет получен массив, содержащий результат. Первый элемент массива – найденный текст, второй – подстрока соответствующая первому подвыражению, третий — подстрока соответствующая второму подвыражению, и так далее. Для примера, мы рассмотрим сценарий, который производит парсинг url адреса.
//************************************* // String js // парсинг url адреса // match_string.js //************************************* var url = /(\w+):\/\/([\w.]+)\/(\S*)/; var text = "интернет страница https://scriptcoding.ru/~vladimir"; var result = text.match(url), index, list="" if (result != null) { for (var index in result){ list+=result[index] + "\n"; } } WScript.Echo (list); |
s.slice(start, [end]) – Получить часть из текста s, параметры start и end задают соответственно начальную и конечную позицию, и являются целыми числами.
//************************************* // String js // js строковые функции // извлечение части текста // slice_string.js //************************************* var MyStr1 = "первый, второй и третий", result; MyStr1.slice(3,10); WScript.Echo (result); |
s.split(str) – Разбить текст s на подстроки, и прописать их как элементы массива. Параметр str определяет символьный знак, являющийся признаком начала разбиения. На выходе мы получаем массив.
//************************************* // объект String js // парсинг строки в массив // split_string.js //************************************* var MyStr2, MyResult1, index, list=""; MyStr2 = "первый, второй, третий, четвертый"; MyResult1 = MyStr2.split(", "); for (var index in MyResult1){ list+= MyResult1[index] + "\n"; } WScript.Echo (list); |
s.substr(start [, length]) – Аналогично slice, но тут мы указываем не конечный индекс, а длину.
//************************************* // объект String js // js строковые функции // извлечение части строки // substr_string.js //************************************* var MyString = "первый, второй и третий", MyRes; MyRes = MyString.substr(3,5); WScript.Echo (MyRes); |
s.substring(index1, index2) – Позволяет получить подстроку из заданной s строчки. substring не изменяет исходного значения. Параметры задают позиции начального и конечного знака.
//************************************* // объект String js // получаем часть текста // substring_string.js //************************************* var mystr2 = "Всем привет", result1; result1 = mystr2.substring(3,8); WScript.Echo (result1); |
s.toLowerCase() – Эта функция String JS языка преобразовывает все символы к нижнему регистру.
s.toUpperCase() – Аналог toLowerCase, только тут все знаки преобразовываются к верхнему регистру
//************************************* // JS String // функции работы со строками js // верхний и нижний регистр // up_low_case_string.js //************************************* var MyString = "Это ПРОСТОй Текст", Low, Up; Low = MyString.toLowerCase(); Up = MyString.toUpperCase(); WScript.Echo (Low + "\n" + Up); |
И так, в этой статье я рассмотрел основные методы объекта JS String языка программирования jscript, есть и другие, но они практически не будут применяться в сценариях, а если и будут, то я их обязательно опишу.