added trim functions

This commit is contained in:
IgorCielniak
2026-03-25 08:59:35 +01:00
parent e8271895fb
commit bc3a894737
3 changed files with 33 additions and 0 deletions

View File

@@ -491,3 +491,28 @@ word splitby_char
r>
rm_zero_len_str
end
# ltrim [*, addr | len] -> [*, addr, | len]
word ltrim
dup for
over c@ 32 == if
swap 1 + swap 1 -
end
end
end
# rtrim [*, addr | len] -> [*, addr, | len]
word rtrim
swap tuck swap
swap over + 1 - swap
dup for
over c@ 32 == if
swap 1 - swap 1 -
end
end nip
end
# trim [*, addr | len] -> [*, addr | len]
word trim
ltrim rtrim
end

View File

@@ -11,3 +11,6 @@ o wor
d he
o wor
he
|f |
| f|
|f|

View File

@@ -21,4 +21,9 @@ word main
for puts end
"hello world hello world hello" "l" splitby
for puts end
" f " 2dup 2dup
124 putc ltrim write_buf 124 putc cr
124 putc rtrim write_buf 124 putc cr
124 putc trim write_buf 124 putc cr
end