Add lib/text.claro from Claro v1.17.26 zip
This commit is contained in:
@@ -0,0 +1,76 @@
|
|||||||
|
# Claro Standard Library: text
|
||||||
|
# Use: IMPORT "lib/text.claro" AS text
|
||||||
|
EXPORT ALL
|
||||||
|
|
||||||
|
TEACH lower TAKES s
|
||||||
|
RETURN LOWER s
|
||||||
|
LEARNED
|
||||||
|
|
||||||
|
TEACH upper TAKES s
|
||||||
|
RETURN UPPER s
|
||||||
|
LEARNED
|
||||||
|
|
||||||
|
TEACH trim TAKES s
|
||||||
|
RETURN TRIM s
|
||||||
|
LEARNED
|
||||||
|
|
||||||
|
TEACH contains TAKES s, part
|
||||||
|
FIND part IN s AS pos
|
||||||
|
IF pos = 0
|
||||||
|
RETURN NO
|
||||||
|
ELSE
|
||||||
|
RETURN YES
|
||||||
|
ENDIF
|
||||||
|
LEARNED
|
||||||
|
|
||||||
|
TEACH startswith TAKES s, prefix
|
||||||
|
FIND prefix IN s AS pos
|
||||||
|
IF pos = 1
|
||||||
|
RETURN YES
|
||||||
|
ELSE
|
||||||
|
RETURN NO
|
||||||
|
ENDIF
|
||||||
|
LEARNED
|
||||||
|
|
||||||
|
TEACH endswith TAKES s, suffix
|
||||||
|
LENGTH s AS ls
|
||||||
|
LENGTH suffix AS lp
|
||||||
|
IF lp = 0
|
||||||
|
RETURN YES
|
||||||
|
ENDIF
|
||||||
|
IF lp > ls
|
||||||
|
RETURN NO
|
||||||
|
ENDIF
|
||||||
|
SUBSTR s FROM (ls - lp + 1) LEN lp AS tail
|
||||||
|
IF tail = suffix
|
||||||
|
RETURN YES
|
||||||
|
ELSE
|
||||||
|
RETURN NO
|
||||||
|
ENDIF
|
||||||
|
LEARNED
|
||||||
|
|
||||||
|
TEACH replace TAKES s, old, new
|
||||||
|
FIND old IN s AS pos
|
||||||
|
IF pos = 0
|
||||||
|
RETURN s
|
||||||
|
ENDIF
|
||||||
|
LENGTH old AS lo
|
||||||
|
SUBSTR s FROM 1 LEN (pos - 1) AS left
|
||||||
|
SUBSTR s FROM (pos + lo) AS right
|
||||||
|
RETURN left + new + right
|
||||||
|
LEARNED
|
||||||
|
|
||||||
|
TEACH split2 TAKES s, sep
|
||||||
|
SET out TO LIST
|
||||||
|
FIND sep IN s AS pos
|
||||||
|
IF pos = 0
|
||||||
|
ADD s TO out
|
||||||
|
RETURN out
|
||||||
|
ENDIF
|
||||||
|
LENGTH sep AS ls
|
||||||
|
SUBSTR s FROM 1 LEN (pos - 1) AS a
|
||||||
|
SUBSTR s FROM (pos + ls) AS b
|
||||||
|
ADD a TO out
|
||||||
|
ADD b TO out
|
||||||
|
RETURN out
|
||||||
|
LEARNED
|
||||||
Reference in New Issue
Block a user