Python’da bir dizeden baştaki ve sondaki boşlukları nasıl kaldırırız?
Örneğin aşağıdaki dönüşümü yapmak istiyoruz:
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
Peki sadece bir boşluk mu kırpacağız yoksa ardışık tüm boşluklar mı kırpmak istiyoruz? İkincisi ise, dizelere ait bir .strip()
metodu bulunuyor:
>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> ' Hello '.strip() # Tüm boşluklar
Ancak yalnızca bir boşluğu kırpmak istiyorsak bunu şu şekilde yapabiliriz:
def strip_one_space(s):
if s.endswith(" "): s = s[:-1]
if s.startswith(" "): s = s[1:]
return s
>>> strip_one_space(" Hello ")
' Hello'
Ayrıca, ;str.strip()
diğer boşluk karakterlerini de (örneğin sekmeler ve yeni satırlar) kaldırır. Yalnızca boşlukları kaldırmak için, kaldırılacak karakteri bağımsız değişken olarak belirtmelisiniz:
>>> " Hello\n".strip(" ")
'Hello\n'
Yukarıda da belirtildiği gibi .strip()
baştaki ve sondaki tüm boşluk karakterlerini kaldırır: \n\r\t\f
Ancak daha fazla esneklik istiyorsanız aşağıdakileri de kullanabilirsiniz:
- Yalnızca baştaki boşluk karakterlerini kaldırmak için :
my_string.lstrip()
- Yalnızca sondaki boşluk karakterlerini kaldırmak için :
my_string.rstrip()
- Belirli boşluk karakterlerini kaldırmak için:
my_string.strip('\n')
,my_string.lstrip('\n\r')
,my_string.rstrip('\n\t')
vb.
Daha fazla ayrıntı bilgi için Python belgelere bakabilirsiniz.