Отдельный символ можно выяснить с помощью метода charAt(). Он принимает в качестве аргумента целое число, указывающее позицию в строке для символа, который следует возвратить. Ввиду того что в JavaScript нет различия между отдельными символами и строками, метод возвращает строку, содержащую требуемый символ. Помните о том, что подобно массивам, символы в строках JavaScript считаются начиная с нуля, поэтому
"JavaScript".charAt(1);
возвратит "а". С помощью charCodeAt() можно также выяснить числовое значение, связанное с конкретным символом. Поскольку значение "а" в Unicode равно 97, оператор
"JavaScript".charCodeAt(1);
возвратит 97. С помощью метода fromCharCode() очень просто преобразовать код символа в соответствующий символ. В отличие от других, этот метод используется непосредственно с базовым объектом String, а не с экземпляром строки. Например,
var aChar = String.fromCharCode(82);
должен присвоить переменной aChar значение R. Методу можно передать сразу несколько значений, разделив их запятыми. Например, в результате выполнения
var aString = String.fromCharCode(1057,1051,1054,1053);
строке aString будет присвоено значение "СЛОН". Метод indexOf() берет строковый аргумент и возвращает начальную позицию первого вхождения аргумента в строке. Например,
"JavaScript".indexOf("Script");
возвратит 4. Если аргумент не найден, возвращается -1. Этот метод допускает также необязательный второй аргумент, указывающий позицию, с которой следует начать поиск. Если второй аргумент указан, метод возвращает начальную позицию первого вхождения аргумента в строке после позиции начала поиска. Например,
"JavaScript".indexOf ("а", 2);
возвратит 3. Родственным методом является lastIndexOf(), возвращающий начальную позицию последнего вхождения строки, заданной в качестве аргумента. Этот метод допускает также необязательный второй аргумент, указывающий позицию, на которой следует закончить поиск. Например,
"JavaScript".lastIndexOf("а", 2);
возвратит 1. Этот метод также возвращает -1, если строка не найдена. Существует множество способов извлечения подстрок в JavaScript. Лучше всего это делать с помощью substring(). Первый аргумент метода substring() указывает позицию, с которой начинается требуемая подстрока. Необязательный второй аргумент указывает позицию, на которой заканчивается требуемая подстрока. Метод возвращает строку, являющуюся подстрокой исходной строки, начиная с данной позиции и до позиции (не включая последнюю), указанной вторым аргументом. Например,
"JavaScript".substring(3);
возвратит "aScript", а
"JavaScript".substring(3, 7);
возвратит "aScr". Метод slice() — это несколько более совершенная версия substring(). Он допускает те же аргументы, что и substring(), но значения позиций могут быть отрицательными. Отрицательное значение позиции означает отсчет с конца строки. Методы match() и search() используют регулярные выражения и предназначены для более сложного анализа строк. Использование регулярных выражений мы обсудим далее.