aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2022-02-23 12:13:29 +0100
committerGitHub <noreply@github.com>2022-02-23 12:13:29 +0100
commitdd0d61e97cc20956bc4c84e8c203653e22992738 (patch)
tree6db42dca6c248a3985e1a26a843feaf7d9095cb5
parente81ed9a9601f6a7761dec5b0f96cc8680a16f166 (diff)
parent2abba6e0579d2e2451a2c922dc3341f0075625b1 (diff)
Merge pull request #1528 from Tetralux/split-docs
Add doc comments to strings.split() and strings.split_n()
-rw-r--r--core/strings/strings.odin19
1 files changed, 19 insertions, 0 deletions
diff --git a/core/strings/strings.odin b/core/strings/strings.odin
index 4daa0bacd..670da166b 100644
--- a/core/strings/strings.odin
+++ b/core/strings/strings.odin
@@ -280,10 +280,29 @@ _split :: proc(s_, sep: string, sep_save, n_: int, allocator := context.allocato
return res[:i+1]
}
+/*
+ Splits a string into parts, based on a separator.
+ Returned strings are substrings of 's'.
+ ```
+ s := "aaa.bbb.ccc.ddd.eee" // 5 parts
+ ss := split(s, ".")
+ fmt.println(ss) // [aaa, bbb, ccc, ddd, eee]
+ ```
+*/
split :: proc(s, sep: string, allocator := context.allocator) -> []string {
return _split(s, sep, 0, -1, allocator)
}
+/*
+ Splits a string into a total of 'n' parts, based on a separator.
+ Returns fewer parts if there wasn't enough occurrences of the separator.
+ Returned strings are substrings of 's'.
+ ```
+ s := "aaa.bbb.ccc.ddd.eee" // 5 parts present
+ ss := split_n(s, ".", 3) // total of 3 wanted
+ fmt.println(ss) // [aaa, bbb, ccc.ddd.eee]
+ ```
+*/
split_n :: proc(s, sep: string, n: int, allocator := context.allocator) -> []string {
return _split(s, sep, 0, n, allocator)
}