Stringy - vybrané operace a metody¶

In [1]:
# opeace pro posloupnosti:
s = "ahoj lidi"

# in, not in 
if 'a' in s:
    print("je tam")

# for cyklus
for z in s:
    print(z, end = " ")

# počet znaků (len)
print(len(s))

# indexace
print(s[8])

# výřez
print(s[5:8])

# operátory +, * (zřetězení)
s = ""
s += "a"
s = "bc" + s
print(s)

s *= 2
print(s)
print(3 * s)
je tam
a h o j   l i d i 9
i
lid
bca
bcabca
bcabcabcabcabcabca

Základní metody¶

  • spojování a rozdělování (např. join, split, splitlines, partition, rpartition)
  • zjišťovací metody (např. islower, isupper, isalpha, isspace, isdigit, isalnum,...)
  • vyhledávání podstringů (např. count, find, rfind index, rindex, startswith, endswith)
  • nahrazování (např. replace, expandtabs)
  • ořezávání (např. strip, rstrip, lstrip)
  • formátování (např. lower, upper, capitalize, title, ljust, rjust, center)

Detaily o všech metodách třídy str nalzenete v dokumentaci https://docs.python.org/3/library/stdtypes.html#string-methods.

Spojování a rozdělování (např. join, split, splitlines, partition, rpartition)

In [2]:
print(" ".join(["This", "is", "a", "sentence."]))                  # spojení stringů
print("This is a sentence.\n This is another sentence.".split())   # rozdělení stringů
print("bread and butter and sousage".split(" and "))
print("bread and butter and sousage".partition(" and "))
print("bread and butter and sousage".rpartition(" and "))
This is a sentence.
['This', 'is', 'a', 'sentence.', 'This', 'is', 'another', 'sentence.']
['bread', 'butter', 'sousage']
('bread', ' and ', 'butter and sousage')
('bread and butter', ' and ', 'sousage')

Zjišťovací metody (např. islower, isupper, isalpha, isspace, isdigit, isalnum)

In [3]:
print("17.5".isnumeric(), "ahoj lidi".islower())                   # zjišťovací metody
False True

Vyhledávání podstringů (např. count, find, rfind index, rindex, startswith, endswith)

In [4]:
print("To není to, co to není, je to toto!".count("to"))           # počet výskytů podstringu
print("To není to, co to není, je to toto!".find("to"))            # index prvního výskytu podstringu
print("To není to, co to není, je to toto!".startswith("to", 8))  
5
8
True

Nahrazování (např. replace, expandtabs)

In [5]:
print("To není to, co to není, je to toto!".replace("není", "JE")) # nahrazení všech výskytů podstringu
To JE to, co to JE, je to toto!

Ořezávání (např. strip, rstrip, lstrip)

In [6]:
print("   Adam Novák \t\n \n".strip())                             # ořezání stringu
print("-*-*-*-*-Adam Novák------".lstrip("*-"))      
Adam Novák
Adam Novák------

Formátování (např. lower, upper, capitalize, title, ljust, rjust, center)

In [3]:
print("To není to, co to není, je to toto!".upper())               # jednoduché formátování
print(" Nadpis ".center(20, '-'))
TO NENÍ TO, CO TO NENÍ, JE TO TOTO!
------ Nadpis ------

Formátování řetězců

In [14]:
x = 5
print(f"Výsledek je {x / 3}.")
print(f"Výsledek je {x / 3:.2f}.")

s1 = "Ahoj, jsem {}. A moje oblibené číslo je {}."
print(s1.format("Matěj", 7))

s2 = "Ahoj, jsem {jmeno}. A moje oblibené číslo je {cislo}."
print(s2.format(cislo=7, jmeno="Matěj"))
Výsledek je 1.6666666666666667.
Výsledek je 1.67.
Ahoj, jsem Matěj. A moje oblibené číslo je 7.
Ahoj, jsem Matěj. A moje oblibené číslo je 7.
In [ ]: