Merge pull request #952 from MihailRis/new-string-methods

New string methods
This commit is contained in:
MihailRis 2026-08-25 23:44:28 +03:00 • committed by GitHub
commit 81757ad9ae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 27 additions and 0 deletions

View file

@ -139,6 +139,12 @@ string.left_pad(str: string, size: int, char: string) -> string
-- Adds a char to the right of the string until its size equals size.
-- By default, char is equal to the space character.
string.right_pad(str: string, size: int, char: string) -> string
-- Encodes a string into URL format, replacing special characters with their hexadecimal representations.
string.url_encode(str: string) -> string
-- Decodes a string from URL format, replacing hexadecimal representations with their corresponding characters.
string.url_decode(str: string) -> string
```
## Math extensions

View file

@ -141,6 +141,12 @@ string.left_pad(str: string, size: int, char: string) -> string
-- Добавляет char справа от строки, пока её размер не будет равен size.
-- По стандарту char равен символу пробела.
string.right_pad(str: string, size: int, char: string) -> string
-- Кодирует строку в формат URL, заменяя специальные символы на их шестнадцатеричные представления.
string.url_encode(str: string) -> string
-- Декодирует строку из формата URL, заменяя шестнадцатеричные представления на соответствующие символы.
string.url_decode(str: string) -> string
```
## Расширения для math

View file

@ -125,3 +125,18 @@ end
function string.ends_with(str, endStr)
return endStr == "" or string.sub(str, -string.len(endStr)) == endStr
end
function string.url_encode(str)
str = string.gsub(str, "([^%w%-%.%_%~])", function(c)
return string.format("%%%02X", string.byte(c))
end)
return str
end
function string.url_decode(str)
str = string.gsub(str, "+", " ")
str = string.gsub(str, "%%(%x%x)", function(hex)
return string.char(tonumber(hex, 16))
end)
return str
end