def f(a): z='' for s in a: if s!=' ': z=z+s return z print(f(" aaa "))
' b bb '
'b bb'
def f(a): z='' for s in a: if s!=' ': z=z+s return z print(f(" aaa "))
' b bb '
'b bb'
from itertools import dropwhile, takewhile def trim(s, ch=" "): last = None for i, _ in takewhile(lambda x: x[1] == ch, enumerate(reversed(s))): last = i def _trim(s): for i in dropwhile(lambda x: x == ch, s): yield i if last: predicate = lambda x: x[0] < last else: predicate = lambda x: True res = takewhile(predicate, enumerate(_trim(s))) return "".join(x[1] for x in res) print(trim(" v1444 11111 ")) print(trim(" v1444 11111")) print(trim("v1444 11111 ")) print(trim("v1444 11111"))
import re x=' Очень много длинных и маленьких пробелов ' string=' '.join(re.findall(r'\w+',x)) print(string)
import re def strip_outside_space(line: str) -> str: return re.search(r'^\s*(.*?)\s*$', line).group(1) print(strip_outside_space(' with s p a c e s ')) print(strip_outside_space('without spaces'))
а подскажите как сделать так чтобы пробелы внутри текста сохранить.просто пробежать по строке с начала, а затем с конца, запомнив позиции первых не пробельных символов. Дальше используем срез…