word() mentions that delimiters at the start and end are ignored, but it does not mention that consecutive delimiters are merged.
May be backported as far as the patch applies. --- doc/configuration.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/configuration.txt b/doc/configuration.txt index 324cce1325..981e4dcb62 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -17726,6 +17726,7 @@ field(<index>,<delimiters>[,<count>]) fields. Example : + str(f1_f2_f3__f5),field(4,_) # <empty> str(f1_f2_f3__f5),field(5,_) # f5 str(f1_f2_f3__f5),field(2,_,0) # f2_f3__f5 str(f1_f2_f3__f5),field(2,_,2) # f2_f3 @@ -18939,17 +18940,21 @@ word(<index>,<delimiters>[,<count>]) Extracts the nth word counting from the beginning (positive index) or from the end (negative index) considering given delimiters from an input string. Indexes start at 1 or -1 and delimiters are a string formatted list of chars. - Delimiters at the beginning or end of the input string are ignored. + Empty words are skipped. This means that delimiters at the start or end of + the input string are ignored and consecutive delimiters within the input + string are considered to be a single delimiter. Optionally you can specify <count> of words to extract (default: 1). Value of 0 indicates extraction of all remaining words. Example : str(f1_f2_f3__f5),word(4,_) # f5 + str(f1_f2_f3__f5),word(5,_) # <not found> str(f1_f2_f3__f5),word(2,_,0) # f2_f3__f5 str(f1_f2_f3__f5),word(3,_,2) # f3__f5 str(f1_f2_f3__f5),word(-2,_,3) # f1_f2_f3 str(f1_f2_f3__f5),word(-3,_,0) # f1_f2 str(/f1/f2/f3/f4),word(1,/) # f1 + str(/f1////f2/f3/f4),word(1,/) # f2 wt6([<avalanche>]) Hashes a binary input sample into an unsigned 32-bit quantity using the WT6 -- 2.42.0