added trim functions
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -11,3 +11,6 @@ o wor
|
||||
d he
|
||||
o wor
|
||||
he
|
||||
|f |
|
||||
| f|
|
||||
|f|
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user