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
|
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`.
|
// substr returns the string between index positions `start` and `end`.
|
||||||
// Example: assert 'ABCD'.substr(1,3) == 'BC'
|
// Example: assert 'ABCD'.substr(1,3) == 'BC'
|
||||||
@[direct_array_access]
|
@[direct_array_access]
|
||||||
|
@ -442,6 +442,13 @@ fn test_rsplit_once() ? {
|
|||||||
assert ext3 == ''
|
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() {
|
fn test_is_bin() {
|
||||||
assert ''.is_bin() == false
|
assert ''.is_bin() == false
|
||||||
assert '0b1'.is_bin() == true
|
assert '0b1'.is_bin() == true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user