Лабораторная работа №7. Операции со строковыми переменными.
Наиболее часто используется операция конкатенации (объединения, суммирования) строковых переменных и констант. Например, строковая операция "7"+"3" даст результат "73". В составе языка JavaScript есть методы, предназначенные для преобразования строковых переменных в числовые. Необходимость в подобных методах особенно обостряется в случаях ввода информации с помощью различных форм (текстовое поле, текстовая область).
Метод parseInt(x,s) преобразует строковую переменную x в целочисленную переменную, представленную в десятичной системе счисления. Переменная s учитывает, в какой системе счисления (двоичной или шестнадцатеричной) выражено число x.
Метод parseFloat(x) преобразует строковую переменную x в вещественную числовую переменную (с плавающей запятой).
Метод Str.charAt(n) позволяет выделить из строковой переменной с именем Str символ, расположенный в позиции n. Отсчет порядковых номеров символов начинается с нуля.
Метод Str.substring(n,m) дает возможность выделить из строки с именем Str подстроку, которая располагается от позиции n до позиции m-1.
Свойство Str.length определяет, сколько символов содержится в переменной Str.
С помощью метода Str.toLowerCase() можно преобразовать символы переменной Str в строчные буквы (символы нижнего регистра).
Метод Str.toUpperCase() преобразует символы переменной с именем Str в заглавные буквы.
Методы Str.indexOf(SubStr,n) и Str.lastIndexOf(SubStr,n) позволяют определить номер позиции подстроки SubStr, начиная с которой подстрока входит в строковую переменную Str. Поиск вхождения подстроки начинается с позиции n. Если искомая строка отсутствует в составе строки Str, то метод возвращает результат -1. Различие рассматриваемых методов состоит в том, что метод IndexOf(SubStr,n) ведет поиск подстроки SubStr от начала строки Str к ее концу (слева-направо), а метод Str.lastIndexOf(SubStr,n) – наоборот, от конца строки к ее началу (справа-налево). Если значение переменной n не указано, то поиск подстроки SubStr ведется для метода IndexOf(SubStr,n) с начала строки Str, а для метода lastIndexOf(SubStr,n) – с конца строки Str.
Упражнение 7.1.Примеры использования строковых методов и свойств.
<html>
<head>
<META http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<title>Оперции со строковыми переменными</title>
<script language="JavaScript">
var str1="Строка";
var SubStr="рок";
var str2="Паро";
var str3="ход";
var str4="23";
var str5="77";
var str6="3.14159";
document.write("Конкатенация двух строк “Паро” и “ход” даст:
"+"“"+str2+str3+"”"+"<br>");
document.write("Конкатенация двух строк 23 и 77 даст: “23”+“77”="+str4+str5+"<br>");
document.write("Суммирование двух чисел 23 и 77 даст: ="+(parseInt(str4)+parseInt(str5))+"<br>");
document.write("Целочисленное преобразование строки “3.14159” даст: ="+parseInt(str6)+"<br>");
document.write("Вещественное преобразование строки “3.14159” даст: ="+parseFloat(str6)+"<br>");
document.write("Первая буква слова “Строка” - "+str1.charAt(0)+"."+"<br>");
document.write("Третья буква слова “Строка” - "+str1.charAt(2)+"."+"<br>");
document.write("В слове “Строка” в позициях 3…5 расположена подстрока -
"+str1.substring(2,5)+"."+"<br>");
document.write("Cлово “Строка” содержит - "+str1.length+ "символов"+"."+"<br>");
document.write("Символы слова “Строка” преобразованы к нижнему регистру -
"+str1.toLowerCase()+"."+"<br>");
document.write("Символы слова “Строка” преобразованы к верхнему регистру - "+str1.toUpperCase()
+"."+"<br>");
document.write("Подстрока “рок” входит в слово “Строка”, начиная с позиции -
"+str1.indexOf(SubStr)+"."+" Поиск – от начала строки."+"<br>");
document.write("Подстрока “рок” входит в слово “Строка”, начиная с позиции -
"+str1.lastIndexOf(SubStr)+"."+" Поиск – от конца строки."+"<br>");
</script>
</head>
<body>
</body>
</html>
Согласно расчетам подстрока «рок» входит в строку «Строка», начиная с позиции 2. Нужно помнить, что счет номеров позиций ведется, начиная с нуля. Результаты поиска позиции расположения подстроки «рок» с помощью методов str1.lastIndexOf(SubStr) и str1.indexOf(SubStr) оказались одинаковыми. Это естественно: номер позиции вхождения подстроки не изменился из-за смены направления поиска.