Руководство - Обработка строк
Следующий пример шаг за шагом показывает различные команды строковой библиотеки string - их действие и корректное использование.Define.s String1, String2, String3 String1 = "The quick brown fox jumps over the lazy dog." ; Left возвращает заданное количество символов от левого края строки. ; Mid возвращает заданное количество символов, начиная от заданного местоположения в строке. ; Right возвращает заданное количество символов от правого края строки. ; Space возвращает конкретное количество строковых пробелов. ; Выведет "The brown dog." Debug "* Left, Mid and Right" String2 = Left(String1, 3) + Space(1) + Mid(String1, 11, 5) + Space(1) + Right(String1, 4) Debug String2 ; CountString возвращает найденное количество экземпляров второй строки в первой строке, с учётом регистра. ; Выведет 1. Debug "* CountString" Debug CountString(String1, "the") ; Функции LCase (и UCase) позволяют преобразовывать строки к нижнему (или верхнему) регистру. ; Выведет 2 Debug "* CountString and LCase" String2 = LCase(String1) Debug CountString(String2, "the") ; FindString позволяет найти местоположение заданной подстроки в другой строке. ; Выведет 17. Debug "* FindString" Debug FindString(String1, "fox") ; RemoveString позволяет удалить заданную подстроку из другой строки. ; Выведет The quick fox jumps over the lazy dog. Debug "* RemoveString" String2 = RemoveString(String1, " brown") Debug String2 ; ReplaceString позволяет заменить найденную подстроку в другой строке. ; Shows The quick brown fox jumps over the sleeping dog. Debug "* ReplaceString" String2 = ReplaceString(String1, "lazy", "sleeping") Debug String2 ; StringByteLength возвращает длину строки в байтах в указанном формате или если формат не указан, то ; используется формат, в котором создано приложение (исключая завершающийся пустой указатель). Debug "* StringByteLength" ; Выведет 44. Debug StringByteLength(String1, #PB_Ascii) ; Выведет 88. Debug StringByteLength(String1, #PB_Unicode) ; StringField может использоваться, чтобы получить индексируемую подстроку из целевой строки. ; Другими словами позволяет получить, например 5-е слово в строке. ; Что очень помогает, например, при преобразовании строк в списки. ; StringField выделяет слова по пробелам или с другим заданным разделителем. ; Этот пример наглядно покажет действие функции. ; Выведет "jumps". Debug "* StringField" String2 = ReplaceString(String1, " ", "\") Debug String2 String3 = StringField(String2, 5, "\") Debug String3 ; Trim удаляет пробелы (или указанные символы) в начале и конце данной строки. ; Точно так же, LTrim обрезает начало строки, а RTrim конец строки. Debug "* Trim, LTrim and RTrim" String2 = Space(10) + String1 + Space(8) Debug #DQUOTE$ + String2 + #DQUOTE$ String3 = Trim(String2) Debug #DQUOTE$ + String3 + #DQUOTE$ String3 = LTrim(String2) Debug #DQUOTE$ + String3 + #DQUOTE$ String3 = RTrim(String2) Debug #DQUOTE$ + String3 + #DQUOTE$ ; LSet устанавливает длину строки от левого конца, при необходимости дополняет пробелами, ; или другим указанным символом. ; Если строка уже превышает заданную длину, то она будет усечена. Debug "*LSet" Debug LSet("Abc", 10, "*") Debug LSet("Abcd", 10, "*") Debug LSet("Abcde", 10, "*") ; RSet так же как и LSet дополняет символами строку, только отсчёт ведёт от правого конца. Debug "* RSet" Debug RSet("1.23", 10, "0") Debug RSet("10.23", 10, "0") Debug RSet("100.23", 10, "0") ; Str преобразовывает quad значение со знаком в строку, так же StrF преобразовывает floats, ; StrD преобразовывает doubles и StrU преобразовывает значения без знака, у двух последних функции есть ; дополнительные параметры, чтобы задать отображаемое количество десятичных разрядов после запятой. Debug "* Str, StrF and StrD" Debug Str(100) Debug StrF(1.234, 3) Debug StrD(123456.789, 3) ; Val преобразует string значение в его числовой (quad) эквивалент. ; ValD и ValF выполняют ту же функцию для floats и doubles Debug "* Val" Debug Val("123") ; Bin преобразует числовое значение в его двоичный эквивалент. ; Hex преобразует числовое значение в его шестнадцатеричный эквивалент. Debug "* Bin and Hex" Debug Bin(19) Debug Hex(19)
Навигация Руководства
< Циклы - Обзор - Хранение данных в памяти >