Module pl.stringx
Python-style extended string library.
see 3.6.1 of the Python reference. If you want to make these available as string methods, then say `stringx.import()` to bring them into the standard `string` table.
See the Guide
Dependencies: `pl.utils`
Functions
isalpha (s) | does s only contain alphabetic characters?. |
isdigit (s) | does s only contain digits?. |
isalnum (s) | does s only contain alphanumeric characters?. |
isspace (s) | does s only contain spaces?. |
islower (s) | does s only contain lower case characters?. |
isupper (s) | does s only contain upper case characters?. |
join (self, seq) | concatenate the strings using this string as a delimiter. |
startswith (self, s2) | does string start with the substring?. |
endswith (s, send) | does string end with the given substring?. |
expandtabs (self, n) | replace all tabs in s with n spaces. |
lfind (self, sub, i1) | find index of first instance of sub in s from the left. |
rfind (self, sub, first, last) | find index of first instance of sub in s from the right. |
replace (s, old, new, n) | replace up to n instances of old by new in the string s. |
split (self, re, n) | split a string into a list of strings using a delimiter. |
splitv (self, re) | split a string using a pattern. |
count (self, sub) | count all instances of substring in string. |
ljust (self, w, ch) | left-justify s with width w. |
rjust (s, w, ch) | right-justify s with width w. |
center (s, w, ch) | center-justify s with width w. |
lstrip (self, chrs) | trim any whitespace on the left of s. |
rstrip (s, chrs) | trim any whitespace on the right of s. |
strip (self, chrs) | trim any whitespace on both left and right of s. |
partition (self, ch) | partition the string using first occurance of a delimiter |
rpartition (self, ch) | partition the string p using last occurance of a delimiter |
at (self, idx) | return the 'character' at the index. |
lines (self) | return an interator over all lines in a string |
title (self) | iniital word letters uppercase ('title case'). |
shorten (self, sz, tail) | return a shorted version of a string. |
Functions
- isalpha (s)
-
does s only contain alphabetic characters?.
Parameters:
- s a string
- isdigit (s)
-
does s only contain digits?.
Parameters:
- s a string
- isalnum (s)
-
does s only contain alphanumeric characters?.
Parameters:
- s a string
- isspace (s)
-
does s only contain spaces?.
Parameters:
- s a string
- islower (s)
-
does s only contain lower case characters?.
Parameters:
- s a string
- isupper (s)
-
does s only contain upper case characters?.
Parameters:
- s a string
- join (self, seq)
-
concatenate the strings using this string as a delimiter.
Parameters:
- self the string
- seq a table of strings or numbers
Usage:
(' '):join {1,2,3} == '1 2 3'
- startswith (self, s2)
-
does string start with the substring?.
Parameters:
- self the string
- s2 a string
- endswith (s, send)
-
does string end with the given substring?.
Parameters:
- s a string
- send a substring or a table of suffixes
- expandtabs (self, n)
-
replace all tabs in s with n spaces. If not specified, n defaults to 8.
with 0.9.5 this now correctly expands to the next tab stop (if you really
want to just replace tabs, use :gsub('\t',' ') etc)
Parameters:
- self the string
- n number of spaces to expand each tab, (default 8)
- lfind (self, sub, i1)
-
find index of first instance of sub in s from the left.
Parameters:
- self the string
- sub substring
- i1 start index
- rfind (self, sub, first, last)
-
find index of first instance of sub in s from the right.
Parameters:
- self the string
- sub substring
- first first index
- last last index
- replace (s, old, new, n)
-
replace up to n instances of old by new in the string s.
if n is not present, replace all instances.
Parameters:
- s the string
- old the target substring
- new the substitution
- n optional maximum number of substitutions
Returns:
- result string
- the number of substitutions
- split (self, re, n)
-
split a string into a list of strings using a delimiter.
Parameters:
- self the string
- re a delimiter (defaults to whitespace)
- n maximum number of results
Usage:
#(('one two'):split()) == 2
('one,two,three'):split(',') == List{'one','two','three'}
('one,two,three'):split(',',2) == List{'one','two,three'}
- splitv (self, re)
-
split a string using a pattern. Note that at least one value will be returned!
Parameters:
- self the string
- re a Lua string pattern (defaults to whitespace)
Returns:
-
the parts of the string
Usage:
a,b = line:splitv('=')
- count (self, sub)
-
count all instances of substring in string.
Parameters:
- self the string
- sub substring
- ljust (self, w, ch)
-
left-justify s with width w.
Parameters:
- self the string
- w width of justification
- ch padding character, default ' '
- rjust (s, w, ch)
-
right-justify s with width w.
Parameters:
- s the string
- w width of justification
- ch padding character, default ' '
- center (s, w, ch)
-
center-justify s with width w.
Parameters:
- s the string
- w width of justification
- ch padding character, default ' '
- lstrip (self, chrs)
-
trim any whitespace on the left of s.
Parameters:
- self the string
- chrs default any whitespace character (%s), can be a string of characters to be trimmed
- rstrip (s, chrs)
-
trim any whitespace on the right of s.
Parameters:
- s the string
- chrs default any whitespace character (%s), can be a string of characters to be trimmed
- strip (self, chrs)
-
trim any whitespace on both left and right of s.
Parameters:
- self the string
- chrs default any whitespace character (%s), can be a string of characters to be trimmed
- partition (self, ch)
-
partition the string using first occurance of a delimiter
Parameters:
- self the string
- ch delimiter
Returns:
- part before ch
- ch
- part after ch
- rpartition (self, ch)
-
partition the string p using last occurance of a delimiter
Parameters:
- self the string
- ch delimiter
Returns:
- part before ch
- ch
- part after ch
- at (self, idx)
-
return the 'character' at the index.
Parameters:
- self the string
- idx an index (can be negative)
Returns:
-
a substring of length 1 if successful, empty string otherwise.
- lines (self)
-
return an interator over all lines in a string
Parameters:
- self the string
Returns:
-
an iterator
- title (self)
-
iniital word letters uppercase ('title case').
Here 'words' mean chunks of non-space characters.
Parameters:
- self the string
Returns:
-
a string with each word's first letter uppercase
- shorten (self, sz, tail)
-
return a shorted version of a string.
Parameters:
- self the string
- sz the maxinum size allowed
- tail true if we want to show the end of the string (head otherwise)