= Python strings
{{tag>python}}
== comp
* Exact match (equality comparison): ==, !=
* Partial match: in, not in
* Forward/backward match: startswith(), endswith()
* Order comparison: <, <=, >, >=
* Case-insensitive comparison: upper(), lower()
* Regex: re.search(), re.fullmatch()
/via: [[https://note.nkmk.me/en/python-str-compare/]]
== string formatting
* string formating[[https://realpython.com/python-string-formatting/]]
* ''"string%s"%(param1)''
* ''"string {} {}".format(1parm,2param)''
* ''"string {1}{2}{1}".format(1param,2param)''
* interpolación (f-string): ''f"string {name} {a + b}"''
* Template strings
== f-strings (Literal String Interpolation)
* To create an f-string, prefix the string with the letter “ f ”. The string itself can be formatted in much the same way that you would with str.format(). F-strings provide a concise and convenient way to embed python expressions inside string literals for formatting.
* F-strings are faster than the two most commonly used string formatting mechanisms, which are % formatting and str.format().
val = 'Geeks'
print(f"{val}for{val} is a portal for {val}.")
import datetime
today = datetime.datetime.today()
print(f"{today:%B %d, %Y}")
Backslash Cannot be used in format string directly.
f"newline: {ord('\n')}"
newline = ord('\n')
print(f"newline: {newline}")
/+info: [[https://www.python.org/dev/peps/pep-0498/]]
/via: [[https://www.geeksforgeeks.org/formatted-string-literals-f-strings-python/]]
== string fill
* ''ljust()'', ''rjust()'', ''center()''
* ''%15s'', ''%15-s''
* ''{:15}'', ''{:>15}''
/via:[[https://www.delftstack.com/es/howto/python/python-pad-string-with-spaces/]]
* ''zfill()''
== zero fill
* ''n=42''
* ''print(f'{n:05d}')''
* ''print('%05d' % n)''
* ''print('{0:05d}'.format(n))''
* 00042
/via: [[https://www.python-engineer.com/posts/pad-zeros-string/]]
== concatenate
* ''s1+s2''
* ''"%s %s"%(s1,s2)''
* ''"-".join([s1,s2])''
* ''"{}{}".format(s1,s2)''
/via: [[https://www.tutorialspoint.com/how-to-concatenate-two-strings-in-python]]