Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
This commit is contained in:
commit
18f00a1fa1
2 changed files with 14 additions and 0 deletions
|
|
@ -803,6 +803,16 @@ proc rfind*(s, sub: string, start: int = -1): int {.noSideEffect.} =
|
||||||
if result != -1: return
|
if result != -1: return
|
||||||
return -1
|
return -1
|
||||||
|
|
||||||
|
proc rfind*(s: string, sub: char, start: int = -1): int {.noSideEffect,
|
||||||
|
rtl.} =
|
||||||
|
## Searches for `sub` in `s` in reverse starting at position `start`.
|
||||||
|
##
|
||||||
|
## Searching is case-sensitive. If `sub` is not in `s`, -1 is returned.
|
||||||
|
let realStart = if start == -1: s.len-1 else: start
|
||||||
|
for i in countdown(realStart, 0):
|
||||||
|
if sub == s[i]: return i
|
||||||
|
return -1
|
||||||
|
|
||||||
proc count*(s: string, sub: string, overlapping: bool = false): int {.noSideEffect,
|
proc count*(s: string, sub: string, overlapping: bool = false): int {.noSideEffect,
|
||||||
rtl, extern: "nsuCountString".} =
|
rtl, extern: "nsuCountString".} =
|
||||||
## Count the occurences of a substring `sub` in the string `s`.
|
## Count the occurences of a substring `sub` in the string `s`.
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,10 @@ assert(editDistance("prefix__hallo_suffix", "prefix") == 14)
|
||||||
assert(editDistance("prefix__hallo_suffix", "suffix") == 14)
|
assert(editDistance("prefix__hallo_suffix", "suffix") == 14)
|
||||||
assert(editDistance("prefix__hallo_suffix", "prefix__hao_suffix") == 2)
|
assert(editDistance("prefix__hallo_suffix", "prefix__hao_suffix") == 2)
|
||||||
|
|
||||||
|
assert "/1/2/3".rfind('/') == 4
|
||||||
|
assert "/1/2/3".rfind('/', 1) == 0
|
||||||
|
assert "/1/2/3".rfind('0') == -1
|
||||||
|
|
||||||
main()
|
main()
|
||||||
#OUT ha/home/a1xyz/usr/bin
|
#OUT ha/home/a1xyz/usr/bin
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue