Главная / Action Script 3
ПакетВерхний уровень
Классpublic final class String
НаследованиеString Inheritance Object

Версии среды выполнения:  1.0 9

Класс String является типом данных, представляющим строку символов. Класс String обладает методами и свойствами, позволяющими оперировать типами элементарных строковых значений. Значение любого объекта можно преобразовать в объект типа данных String с помощью функции String().

Все методы класса String кроме concat(), fromCharCode(), slice() и substr() являются универсальными. Это означает, что они вызывают toString() перед выполнением операций и что их можно использовать по отношению к другим объектам не относящимся к классу String.

Поскольку все индексы строк начинаются с нуля, индекс последнего символа любой строки x равняется x.length - 1.

Можно вызвать любой метод класса String. При этом для создания новой строковой переменной можно воспользоваться методом конструктора new String() или просто присвоить значение строкового литерала. В отличие от предыдущих версий ActionScript не имеет значения, используется ли конструктор, глобальная функция или просто присваивается значение строкового литерала. Следующие строки кода эквивалентны:

 var str:String = new String("foo");
 var str:String = "foo";
 var str:String = String("foo");

При выборе для строковой переменной значения undefined Adobe® Flash® Player принудительно заменяет значение undefined значением null. Поэтому инструкция:

 var s:String = undefined;
устанавливает значение null вместо undefined. Воспользуйтесь функцией String(), если необходимо использовать значение undefined.

Посмотреть примеры

См. также

Функция String
Типы данных
Типы данных
Описания типов данных
Преобразования типа
Синтаксис регулярных выражений


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  length : int
[только для чтения] Целое число, определяющее количество символов в заданном объекте String.
String
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
Общедоступные методы
 МетодОпределено
  
Создает новый объект String, инициализированный для заданной строки.
String
  
charAt(index:Number = 0):String
Возвращает символ в позиции, заданной параметром индекса.
String
  
Возвращает числовой код символа Юникод для символа в заданном индексе.
String
  
Добавляет переданные аргументы к концу объекта String, при необходимости преобразуя их в строки, затем возвращает получившуюся строку.
String
  
[статические] Возвращает строку с символами, представленными в параметрах кодами Юникод.
String
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
  
indexOf(val:String, startIndex:Number = 0):int
Выполняет поиск строки и возвращает позицию первого вхождения параметр val, обнаруженного после элемента startIndex (включая этот элемент) в пределах вызывающей строки.
String
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
lastIndexOf(val:String, startIndex:Number = 0x7FFFFFFF):int
Выполняет поиск строки справа налево и возвращает индекс последнего вхождения параметра val, обнаруженного перед элементом startIndex.
String
  
localeCompare(other:String, ... values):int
Сравнивает порядок сортировки двух или более строк и возвращает результат сравнения в виде целого числа.
String
  
match(pattern:*):Array
Сопоставляет заданный шаблон со строкой.
String
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
replace(pattern:*, repl:Object):String
Сопоставляет заданный шаблон со строкой и возвращает новую строку, в которой первое совпадение шаблона заменяется содержимым, заданным параметром repl.
String
  
search(pattern:*):int
Выполняет поиск заданного шаблона и возвращает индекс первой совпадающей подстроки.
String
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
slice(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String
Возвращает строку с символом startIndex и все символы вплоть до символа endIndex (но не включая его).
String
  
split(delimiter:*, limit:Number = 0x7fffffff):Array
Преобразует объект String в массив подстрок путем разделения объекта каждый раз, когда встречается заданный параметр разделителя.
String
  
substr(startIndex:Number = 0, len:Number = 0x7fffffff):String
Возвращает подстроку из символов, начинающихся с заданного элемента startIndex. Длина этой строки задана параметром len.
String
  
substring(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String
Возвращает строку из символа, заданного startIndex, и всех символов вплоть до endIndex - 1.
String
  
Возвращает копию этой строки с преобразованием всех прописных символов в строчные.
String
  
Возвращает копию этой строки с преобразованием всех строчных символов в прописные.
String
  
Возвращает копию этой строки с преобразованием всех прописных символов в строчные.
String
 Inherited
Возвращает строковое представление заданного объекта.
Object
  
Возвращает копию этой строки с преобразованием всех строчных символов в прописные.
String
  
Возвращает элементарное значение экземпляра String.
String
Сведения о свойстве
lengthсвойство
length:int  [только для чтения]

Версии среды выполнения:  1.0 9

Целое число, определяющее количество символов в заданном объекте String.

Поскольку все индексы строк начинаются с нуля, индекс последнего символа любой строки x равняется x.length - 1.



Реализация
    public function get length():int

См. также

Сведения о конструкторе
String()Конструктор
public function String(val:String)

Версии среды выполнения:  1.0 9

Создает новый объект String, инициализированный для заданной строки.

Примечание. Поскольку строковые литералы используют меньше служебной информации, чем объекты String, и их обычно проще применять, необходимо использовать строковые литералы вместо класса String, если нет весомой причины выбрать объект String вместо строкового литерала.

Параметры
val:String — Начальное значение нового объекта String.

См. также

Сведения о методе
charAt()метод
AS3 function charAt(index:Number = 0):String

Версии среды выполнения:  1.0 9

Возвращает символ в позиции, заданной параметром индекса. Если index не является числом от 0 до string.length - 1, возвращается пустая строка.

Этот метод напоминает String.charCodeAt() за исключением того, что возвращаемое значение является символом, а не 16-разрядным целочисленным кодом символа.

Параметры

index:Number (default = 0) — Целое число, указывающее на позицию символа в строке. Первый символ обозначается 0, а последний символ — my_str.length - 1.

Возвращает
String — Символ в указанном индексе. Пустая строка, если указанный индекс выходит за пределы диапазона индексов для этой строки.

См. также

charCodeAt()метод 
AS3 function charCodeAt(index:Number = 0):Number

Версии среды выполнения:  1.0 9

Возвращает числовой код символа Юникод для символа в заданном индексе. Если индекс не является числом от 0 до string.length - 1, возвращается NaN.

Этот метод напоминает метод String.charAt() за исключением того, что возвращаемое значение является 16-разрядным целочисленным кодом символа, а не фактическим символом.

Параметры

index:Number (default = 0) — Целое число, указывающее на позицию символа в строке. Первый символ обозначается 0, а последний символ — my_str.length - 1.

Возвращает
Number — Числовой код символа Юникод для символа в заданном индексе. Или NaN, если индекс выходит за пределы диапазона строковых индексов.

См. также

concat()метод 
AS3 function concat(... args):String

Версии среды выполнения:  1.0 9

Добавляет переданные аргументы к концу объекта String, при необходимости преобразуя их в строки, затем возвращает получившуюся строку. Первоначальное значение исходного объекта String остается неизменным.

Параметры

... args — Необходимо добавить 0 или более параметров.

Возвращает
String — Новая строка, состоящая из этой строки и указанных параметров.

См. также

fromCharCode()метод 
AS3 static function fromCharCode(... charCodes):String

Версии среды выполнения:  1.0 9

Возвращает строку с символами, представленными в параметрах кодами Юникод.

Параметры

... charCodes — Серия целых десятичных чисел, представляющих собой значения Юникод.

Возвращает
String — Строковое значение указанных кодов Юникод.

См. также

indexOf()метод 
AS3 function indexOf(val:String, startIndex:Number = 0):int

Версии среды выполнения:  1.0 9

Выполняет поиск строки и возвращает позицию первого вхождения параметра val, обнаруженного после элемента startIndex (включая этот элемент), в пределах вызывающей строки. Этот индекс начинается с нуля. Это означает, что первый символ в строке имеет индекс 0, а не 1. Если значение val не найдено, метод возвращает "-1".

Параметры

val:String — Искомая подстрока.
 
startIndex:Number (default = 0) — Необязательное целое число, указывающее начальный индекс поиска.

Возвращает
int — Индекс первого вхождения указанной подстроки или -1.

См. также

lastIndexOf()метод 
AS3 function lastIndexOf(val:String, startIndex:Number = 0x7FFFFFFF):int

Версии среды выполнения:  1.0 9

Выполняет поиск строки справа налево и возвращает индекс последнего вхождения параметра val, обнаруженного перед элементом startIndex. Этот индекс начинается с нуля. Это означает, что первый символ имеет индекс 0, а последний — string.length - 1. Если значение val не найдено, метод возвращает -1.

Параметры

val:String — Искомая строка.
 
startIndex:Number (default = 0x7FFFFFFF) — Необязательное целое число, указывающее начальный индекс, с которого начинается поиск val. Значение по умолчанию — максимально допустимое значение индекса. Если startIndex не указан, поиск начинается с последнего элемента в строке.

Возвращает
int — Позиция последнего вхождения указанной подстроки или "-1", если она не найдена.

См. также

localeCompare()метод 
AS3 function localeCompare(other:String, ... values):int

Сравнивает порядок сортировки двух или более строк и возвращает результат сравнения в виде целого числа. Хотя этот метод предназначен для проведения регионального сравнения, реализация ActionScript 3.0 не приводит к появлению другого результата при сравнении других строк, например операторов равенства (==) или неравенства (!=). Если строки эквивалентны, возвращается значение 0. Если исходное строковое значение предшествует строковому значению, указанному в параметре other, возвращается отрицательное целое число, абсолютное значение которого отражает количество символов, разделяющих два этих строковых значения. Если исходное строковое следует за параметром other, возвращается положительное целое число, абсолютное значение которого отражает количество символов, разделяющих два этих строковых значения.

Параметры

other:String — Сравниваемая строковая величина.
 
... values — Необязательный набор дополнительных сравниваемых строк.

Возвращает
int — Значение 0, если строки равны. В противном случае отрицательное целое число, если исходная строка предшествует аргументу строки, или положительное целое число, если аргумент строки предшествует исходной строке. В обоих случаях абсолютное значение числа выражает разницу между двумя строками.
match()метод 
AS3 function match(pattern:*):Array

Сопоставляет заданный шаблон со строкой.

Параметры

pattern:* — Искомый шаблон, в роли которого может выступать любой тип объекта. Как правило, это строка или регулярное выражение. Если шаблон не является регулярным выражением или строкой, то перед выполнением этот метод преобразует его в строку.

Возвращает
Array — Массив строк, состоящий из всех подстрок в строке, которая совпадает с заданным шаблоном.

Если шаблон является регулярным выражением, необходимо установить в нем флаг g (global), чтобы вернуть массив с более, чем одной совпадающей подстрокой:

  • Если флаг g (global) не установлен, возвращаемый массив будет содержать не более одного совпадения, а свойство lastIndex регулярного оператора останется неизменным.
  • Если флаг g (global) установлен, метод начинает поиск с начала строки (позиция в индексе 0). Если совпадающая подстрока является пустой строкой (это может происходить в регулярном выражении типа /x*/), метод добавляет пустую строку в массив совпадений, а затем продолжает поиск со следующей позиции индекса. Свойство lastIndex регулярного выражения приравнивается 0 после завершения выполнения метода.

Если совпадение не найдено, метод возвращает null. Если значение не передано (или является неопределенным) как параметр pattern, метод возвращает null.

См. также

replace()метод 
AS3 function replace(pattern:*, repl:Object):String

Сопоставляет заданный шаблон со строкой и возвращает новую строку, в которой первое совпадение шаблона заменяется содержимым, заданным параметром repl. Параметр pattern может быть представлен строкой или регулярным выражением. Параметр repl может быть строкой или функцией; если он является функцией, возвращаемая функцией строка вставляется вместо совпадения. Исходная строка не изменяется.

В следующем примере заменяется только первый экземпляр "sh" (зависит от регистра).

 var myPattern:RegExp = /sh/;  
 var str:String = "She sells seashells by the seashore.";
 trace(str.replace(myPattern, "sch"));  
    // She sells seaschells by the seashore.

В следующем примере заменяются все экземпляры "sh" (зависит от регистра), поскольку в регулярном выражении установлен флаг g (global):

 var myPattern:RegExp = /sh/g;  
 var str:String = "She sells seashells by the seashore.";
 trace(str.replace(myPattern, "sch"));  
    // She sells seaschells by the seaschore.

В следующем примере заменяются все экземпляры "sh", поскольку в регулярном выражении установлен флаг g (global), а совпадения не зависят от регистра, так как установлен флаг i (ignoreCase):

 var myPattern:RegExp = /sh/gi;  
 var str:String = "She sells seashells by the seashore.";
 trace(str.replace(myPattern, "sch"));  
    // sche sells seaschells by the seaschore.

Параметры

pattern:* — Искомый шаблон, в роли которого может выступать любой тип объекта. Как правило, это строка или регулярное выражение. Если указать параметр pattern, который представляет собой любой объект, отличающийся от строки или регулярного выражения, метод toString() применяется к параметру, а метод replace() выполняется с использованием итоговой строки в качестве параметра pattern.
 
repl:Object — Как правило, строка, которая вставляется вместо совпадающего содержимого. Однако в качестве этого параметра можно также указать функцию. Если указать функцию, строка, возвращаемая этой функцией, вставляется вместо совпадающего содержимого.

Если в качестве параметра repl указывается строка, а в качестве регулярного выражения — параметр pattern, можно воспользоваться следующими специальными кодами замены $ в параметре repl:

$ Code Замещающий текст
$$ $
$& Совпавшая подстрока.
$` Часть строки, предшествующая совпавшей подстроке. Учтите, что в этом коде используется прямая левая одинарная кавычка (`), а не одинарный символ прямой кавычки (') или одинарный символ левой фигурной кавычки (‘).
$' Часть строки, которая следует за совпавшей подстрокой. Учтите, что в этом коде используется прямая одинарная кавычка. (').
$n Зарегистрированное совпадение группы в скобках n, где n — это цифра от 1 до 9, а за $n не следует десятичное число.
$nn Зарегистрированное совпадение группы в скобках nn, где nn десятичное двузначное число (от 01 до 99). Если запись nn не определена, в качестве замещающего текста используется пустая строка.

Например, ниже показано применение замещающих кодов $2 и $1, представляющих первую и вторую зарегистрированные совпавшие группы:

var str:String = "flip-flop";
 var pattern:RegExp = /(\w+)-(\w+)/g;
 trace(str.replace(pattern, "$2-$1")); // flop-flip

Если в качестве параметра repl указана функция, метод replace()передает этой функции следующие параметры:

  • Совпадающая часть строки.
  • Любые зарегистрированные совпадения групп в скобках предоставляются в качестве следующих аргументов. Количество переданных таким образом аргументов варьирует в зависимости от количества совпадений в скобках. Количество совпадений в скобках можно определить, проверив значение параметра arguments.length - 3 в коде функции.
  • Позиция в индексе в строке, где начинается совпадение.
  • Строка полностью.

Например, рассмотрите один из следующих вариантов.

 var str1:String = "abc12 def34";
 var pattern:RegExp = /([a-z]+)([0-9]+)/;
 var str2:String = str1.replace(pattern, replFN);
 trace (str2);   // 12abc 34def
 
 function replFN():String {
  return arguments[2] + arguments[1];
 }

Вызов метода replace() использует функцию в качестве параметра repl. Регулярное выражение (/([a-z]([0-9]/g) совпадает дважды. В первый раз шаблон совпадает с подстрокой "abc12", и функции передается следующий список аргументов:

 {"abc12", "abc", "12", 0, "abc12 def34"}

Во второй раз шаблон совпадает с подстрокой "def23", а функции передается следующий список аргументов:

 {"def34", "def", "34", 6, "abc123 def34"}

Возвращает
String — Строка, которая получается в результате. Учтите, что исходная строка остается неизменной.

См. также

search()метод 
AS3 function search(pattern:*):int

Выполняет поиск заданного шаблона и возвращает индекс первой совпадающей подстроки. Если совпадающей подстроки нет, метод возвращает -1.

Параметры

pattern:* — Искомый шаблон, в роли которого может выступать любой тип объекта. Как правило, это строка или регулярное выражение. Если шаблон не является регулярным выражением или строкой, то перед выполнением этот метод преобразует его в строку. Учтите, что если регулярное выражение указано, метод игнорирует глобальный флаг ("g") регулярного выражения и свойство lastIndex (оставляя его без изменений). Если передать неопределенное значение (или не передавать значение), метод возвращает -1.

Возвращает
int — Индекс первой совпадающей подстроки или -1, если совпадений не найдено. Учтите, что если строка начинается нулевого индекса, первый символ строки имеет индекс 0, а последний — string.length - 1.

См. также

slice()метод 
AS3 function slice(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String

Версии среды выполнения:  1.0 9

Возвращает строку с символом startIndex и все символы вплоть до символа endIndex (но не включая его). Исходный объект String не изменяется. Если параметр endIndex не указан, то конец подстроки считается концом строки. Если позиция символа, индексированного с помощью параметра startIndex, совпадает или находится справа от символа, индексированного параметром endIndex, метод возвращает пустую строку.

Параметры

startIndex:Number (default = 0) — Индекс начальной позиции среза, начинающийся с нуля. Если startIndex — отрицательное число, срез создается справа налево, а последнему символу присваивается значение "-1".
 
endIndex:Number (default = 0x7fffffff) — Целое число, которое больше индекса конечной позиции среза. Символ, индексированный параметром endIndex, не включен в извлеченную строку. Если параметру endIndex присвоено отрицательное число, конечная позиция определяется путем отсчета от конца строки, где последний символ имеет позицию "-1". Значение по умолчанию — максимально допустимое значение индекса. Если этот параметр пропустить, используется параметр String.length.

Возвращает
String — Подстрока, основанная на заданных индексах.

См. также

split()метод 
AS3 function split(delimiter:*, limit:Number = 0x7fffffff):Array

Версии среды выполнения:  1.0 9

Преобразует объект String в массив подстрок путем разделения объекта каждый раз, когда встречается заданный параметр delimiter.

Если параметр delimiter является регулярным выражением, учитывается только первое совпадение на заданной позиции строки, даже если при отслеживании в обратном порядке на этой позиции найдена совпадающая непустая подстрока. Например,

  var str:String = "ab";
  var results:Array = str.split(/a*?/); // results == ["","b"]
  
  results = str.split(/a*/); // results == ["","b"].)

Если параметр delimiter — это регулярное выражение, содержащее скобки для группы, то при каждом совпадении параметра delimiter результаты (включая любые неопределенные результаты) группировки в скобках разделены в выходном массиве. Например:

  var str:String = "Thi5 is a tricky-66 example.";
  var re:RegExp = /(\d+)/;
  var results:Array = str.split(re);
      // results == ["Thi","5"," is a tricky-","66"," example."]

Если указан параметр limit, то возвращенный массив будет содержать не более указанного количества элементов.

Если delimiter является пустой строкой, в качестве элемента массива выдается пустое регулярное выражение, либо регулярное выражение, которое может соответствовать пустой строке. Каждый отдельный символ в строке выдается в качестве элемента массива.

Если параметр delimiter не определен, в качестве первого элемента возвращаемого массива включается вся строка.

Параметры

delimiter:* — Шаблон, который указывает место разделения строки. В роли шаблона может выступать любой тип объекта. Как правило, это строка или регулярное выражение. Если разделитель не является регулярным выражением или строкой, то метод перед выполнением преобразует его в строку.
 
limit:Number (default = 0x7fffffff) — Максимальное количество элементов, включаемых в массив. Максимально допустимое значение является значением по умолчанию.

Возвращает
Array — Массив подстрок.

См. также

substr()метод 
AS3 function substr(startIndex:Number = 0, len:Number = 0x7fffffff):String

Версии среды выполнения:  1.0 9

Возвращает подстроку из символов, начинающихся с заданного элемента startIndex. Длина этой строки определяется параметром len. Исходная строка не менялась.

Параметры

startIndex:Number (default = 0) — Целое число, которое указывает на индекс первого символа, который используется для создания подстроки. Если параметру startIndex присвоено отрицательное число, начальный индекс определяется, начиная с конца строки, где последний символ имеет позицию -1.
 
len:Number (default = 0x7fffffff) — Количество символов в создаваемой подстроке. Максимально допустимое значение является значением по умолчанию. Если параметр len не указан, подстрока включает все символы, начиная с startIndex до конца строки.

Возвращает
String — Подстрока, основанная на заданных параметрах.

См. также

substring()метод 
AS3 function substring(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String

Версии среды выполнения:  1.0 9

Возвращает строку из символа, заданного startIndex, и всех символов вплоть до позиции endIndex - 1. Если параметр endIndex не указан, используется параметр String.length. Если значение startIndex равняется значению endIndex, метод возвращает пустую строку. Если значение startIndex превышает значение endIndex, параметры автоматически заменяются перед выполнением функции. Исходная строка не менялась.

Параметры

startIndex:Number (default = 0) — Целое число, указывающее на индекс первого символа, который используется для создания подстроки. Действительные значения параметра startIndex лежат в диапазоне от 0 до String.length. Если в качестве startIndex выбрано отрицательное значение, используется 0 .
 
endIndex:Number (default = 0x7fffffff) — Целое число, которое больше индекса последнего символа в извлеченной подстроке. Действительные значения параметра endIndex лежат в диапазоне от 0 до String.length. Символ с позицией endIndex не включен в подстроку. Значение по умолчанию — максимально допустимое значение индекса. Если этот параметр пропустить, используется параметр String.length. Если для этого параметра выбрано отрицательное значение, используется 0.

Возвращает
String — Подстрока, основанная на заданных параметрах.

См. также

toLocaleLowerCase()метод 
AS3 function toLocaleLowerCase():String

Возвращает копию этой строки с преобразованием всех прописных символов в строчные. Исходная строка не менялась. Хотя этот метод предназначается для обработки регионального преобразования, реализация ActionScript 3.0 не приводит к результатам, отличным от результатов метода toLowerCase().

Возвращает
String — Копия этой строки с преобразованием всех прописных символов в строчные.

См. также

toLocaleUpperCase()метод 
AS3 function toLocaleUpperCase():String

Версии среды выполнения:  1.0 9

Возвращает копию этой строки с преобразованием всех строчных символов в прописные. Исходная строка не менялась. Хотя этот метод предназначается для обработки регионального преобразования, реализация ActionScript 3.0 не приводит к результатам, отличным от результатов метода toUpperCase().

Возвращает
String — Копия этой строки с преобразованием всех строчных символов в прописные.

См. также

toLowerCase()метод 
AS3 function toLowerCase():String

Версии среды выполнения:  1.0 9

Возвращает копию этой строки с преобразованием всех прописных символов в строчные. Исходная строка не менялась.

Этот метод преобразует все символы (не только в диапазоне от A до Z), для которых существуют строчные эквиваленты в Юникоде:

  var str:String = " JOSÉ BARÇA";
  trace(str.toLowerCase()); // josé barça

Эти отображения регистра определены в файлах UnicodeData.txt и SpecialCasings.txt, как указано в спецификации Unicode Character Database.

Возвращает
String — Копия этой строки с преобразованием всех прописных символов в строчные.

См. также

toUpperCase()метод 
AS3 function toUpperCase():String

Версии среды выполнения:  1.0 9

Возвращает копию этой строки с преобразованием всех строчных символов в прописные. Исходная строка не менялась.

Этот метод преобразует все символы (не только в диапазоне от A до Я), для которых существуют прописные эквиваленты в Юникоде:

  var str:String = "José Barça";
  trace(str.toUpperCase()); // JOSÉ BARÇA

Эти отображения регистра определены в файлах UnicodeData.txt и SpecialCasings.txt, как указано в спецификации Unicode Character Database.

Возвращает
String — Копия этой строки с преобразованием всех строчных символов в прописные.

См. также

valueOf()метод 
AS3 function valueOf():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает элементарное значение экземпляра String. Этот метод разработан для преобразования объекта String в элементарное строковое значение. Поскольку Flash Player автоматически вызывает при необходимости valueOf(), вызывать этот метод явным образом приходится нечасто.

Возвращает
String — Значение строки.
Примеры Как пользоваться примерами
StringExample.as

В следующем примере классы StringExample и StringHelper используются для того, чтобы продемонстрировать порядок применения различных методов класса String. Это можно сделать, выполнив следующие действия:
  1. Конструктор для StringExample объявляет несколько локальных экземпляров String, которые инициализируются с помощью различных строк и нового объекта StringHelper.
  2. Класс StringHelper имеет ряд методов.
    • replace(): вызывает методы split() и join() класса String, чтобы удалить подстроку строки, переданную с новой подстрокой.
    • trim(): вызывает одновременно методы trimBack() и trimFront() с помощью переданных строк и возвращает обновленную строку.
    • trimFront(): рекурсивно удаляет все символы, которые совпадают с параметром char, начиная с переднего конца строки назад вплоть до первого символа в строке, не совпадающего с параметром char, и возвращает обновленную строку.
    • trimBack(): рекурсивно удаляет все символы, которые совпадают с параметром char, начиная с заднего конца строки вперед вплоть до последнего символа в строке, не совпадающего с параметром char и возвращает обновленную строку.
    • stringToCharacter(): возвращает первый символ переданной строки.
  3. Затем создаются три строки с помощью объявленных строковых переменных с вызовом метода replace(), использованного для создания второй строки, и метода trim() для создания третьей строки.
package {
    import flash.display.Sprite;

    public class StringExample extends Sprite {
        public function StringExample() {
            var companyStr:String = new String("     Company X");
            var productStr:String = "Product Z Basic     ";
            var emptyStr:String = " ";
            var strHelper:StringHelper = new StringHelper();

            var companyProductStr:String = companyStr + emptyStr + productStr;
            trace("'" + companyProductStr + "'");    // '     Company X Product Z Basic     '

            companyProductStr = strHelper.replace(companyProductStr, "Basic", "Professional");
            trace("'" + companyProductStr + "'");    // '     Company X Product Z Professional     '

            companyProductStr = strHelper.trim(companyProductStr, emptyStr);
            trace("'" + companyProductStr + "'");    // 'Company X Product Z Professional'
        }
    }
}

class StringHelper {
    public function StringHelper() {
    }

    public function replace(str:String, oldSubStr:String, newSubStr:String):String {
        return str.split(oldSubStr).join(newSubStr);
    }

    public function trim(str:String, char:String):String {
        return trimBack(trimFront(str, char), char);
    }

    public function trimFront(str:String, char:String):String {
        char = stringToCharacter(char);
        if (str.charAt(0) == char) {
            str = trimFront(str.substring(1), char);
        }
        return str;
    }

    public function trimBack(str:String, char:String):String {
        char = stringToCharacter(char);
        if (str.charAt(str.length - 1) == char) {
            str = trimBack(str.substring(0, str.length - 1), char);
        }
        return str;
    }

    public function stringToCharacter(str:String):String {
        if (str.length == 1) {
            return str;
        }
        return str.slice(0, 1);
    }
}