mirror of
https://github.com/vlang/v.git
synced 2025-08-04 02:07:28 -04:00
builtin: add string.split_by_space() (#23651)
This commit is contained in:
parent
99a587af95
commit
4f85b35bb9
@ -1108,6 +1108,18 @@ pub fn (s string) split_into_lines() []string {
|
||||
return res
|
||||
}
|
||||
|
||||
// split_by_space splits the string by whitespace (any of ` `, `\n`, `\t`, `\v`, `\f`, `\r`).
|
||||
// Repeated, trailing or leading whitespaces will be omitted.
|
||||
pub fn (s string) split_by_space() []string {
|
||||
mut res := []string{}
|
||||
for word in s.split_any(' \n\t\v\f\r') {
|
||||
if word != '' {
|
||||
res << word
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
// substr returns the string between index positions `start` and `end`.
|
||||
// Example: assert 'ABCD'.substr(1,3) == 'BC'
|
||||
@[direct_array_access]
|
||||
|
@ -442,6 +442,13 @@ fn test_rsplit_once() ? {
|
||||
assert ext3 == ''
|
||||
}
|
||||
|
||||
fn test_split_by_space() {
|
||||
assert 'a b c'.split_by_space() == ['a', 'b', 'c']
|
||||
assert ' a\t\tb\tc'.split_by_space() == ['a', 'b', 'c']
|
||||
assert 'a b c \n\r'.split_by_space() == ['a', 'b', 'c']
|
||||
assert '\ta b \t \tc \r\n'.split_by_space() == ['a', 'b', 'c']
|
||||
}
|
||||
|
||||
fn test_is_bin() {
|
||||
assert ''.is_bin() == false
|
||||
assert '0b1'.is_bin() == true
|
||||
|
Loading…
x
Reference in New Issue
Block a user