Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
help:strings [2024/12/01 10:10] aleks_versus |
help:strings [2025/09/28 13:41] (текущий) aleks_versus [Сравнение строк] |
||
---|---|---|---|
Строка 123: | Строка 123: | ||
'b' > 'ab' &! 'b' > 'a' | 'b' > 'ab' &! 'b' > 'a' | ||
'ab' > 'a' &! 'b' > '' | 'ab' > 'a' &! 'b' > '' | ||
+ | </sxh> | ||
+ | |||
+ | Если строки сравниваются с числами, плеер пытается привести строку к числу и затем сравнить два числа. Если привести строку к числу не получается, плеер приводит число к строке и сравнивает две строки. Поэтому результаты могут отличаться в разных случаях: | ||
+ | |||
+ | <sxh qsp> | ||
+ | ! это не валидный код QSP | ||
+ | ! а табличка сравнения | ||
+ | 3 < '12' &! '12' приводится к числу, и 12 > 3 | ||
+ | '3' > '12' &! сравниваются две строки, а '3' > '1' | ||
+ | 3 > '12a' &! '12a' не приводится к числу, сравниваются строки | ||
</sxh> | </sxh> | ||
Строка 192: | Строка 202: | ||
*pl len('Зелёные яблоки') &! на экране будет число 14 | *pl len('Зелёные яблоки') &! на экране будет число 14 | ||
</sxh> | </sxh> | ||
- | * ''%%**$MID(**[$стр],[#начало],[#длина]**)**%%'' - вырезает из строки ''%%[$стр]%%'' строку, которая начинается с символа номер ''%%[#начало]%%'' и имеет длину ''%%[#длина]%%''. Нумерация символов в строке ведётся с **1**. | + | * ''**$MID(**[$стр],[#начало],[#длина]**)**'' - вырезает из строки ''%%[$стр]%%'' строку, которая начинается с символа номер ''%%[#начало]%%'' и имеет длину ''%%[#длина]%%''. Нумерация символов в строке ведётся с **1**. |
* Параметр ''%%[#длина]%%'' может отсутствовать, при этом вырезается вся строка, начиная с символа ''%%[#начало]%%''. | * Параметр ''%%[#длина]%%'' может отсутствовать, при этом вырезается вся строка, начиная с символа ''%%[#начало]%%''. | ||
* Если ''%%[#начало]%%'' превышает длину строки, функция возвращает пустую строку. | * Если ''%%[#начало]%%'' превышает длину строки, функция возвращает пустую строку. | ||
Строка 210: | Строка 220: | ||
$TRIM(' TRIM TEST ') &! 'TRIM TEST' | $TRIM(' TRIM TEST ') &! 'TRIM TEST' | ||
</sxh> | </sxh> | ||
- | * ''%%**$REPLACE(**[$стр],[$поиск],[$замена],[#количество_замен]**)**%%'' - заменяет в строке ''%%[$стр]%%'' несколько вхождений строки ''%%[$поиск]%%'' строкой ''%%[$замена]%%''. Замена производится слева-направо и только для неперескающихся вхождений. | + | * ''**$REPLACE(**[$стр],[$поиск],[$замена],[#количество_замен]**)**'' - заменяет в строке ''%%[$стр]%%'' несколько вхождений строки ''%%[$поиск]%%'' строкой ''%%[$замена]%%''. Замена производится слева-направо и только для неперескающихся вхождений. |
* Параметр ''[#количество_замен]'' показывает, сколько вхождений должно быть заменено. Если параметр не указан, производится замена всех вхождений. | * Параметр ''[#количество_замен]'' показывает, сколько вхождений должно быть заменено. Если параметр не указан, производится замена всех вхождений. | ||
* Параметр ''%%[$замена]%%'' может отсутствовать, тогда он принимается равным пустой строке. | * Параметр ''%%[$замена]%%'' может отсутствовать, тогда он принимается равным пустой строке. |