![](/img/trans.png)
[英]If first or last character from string is $ remove it in python
[英]Python remove first number from string if it's 0
我從表格格式07123456789
(這是一個電話號碼)得到一個字符串,我想刪除第一個數字/字符只有它是零。 然后在前面增加44
。 所以輸出將是447123456789
。
這是最好的方法嗎?
使用str.startswith
In [11]: s = '07123456789'
In [12]: '44{}'.format(s[1:] if s.startswith('0') else s)
Out[12]: '447123456789'
另外,您可以使用+
運算符將字符串連接在一起,而不是format
'44' + (s[1:] if s.startswith('0') else s)
如果你確定在數字的開頭最多有1個零,你可以安全地使用str.lstrip
或int
轉換(參見其他答案)。
我們可以將字符串轉換為整數
>>> s = "07123456789"
>>> "44%s"%(int(s))
'447123456789'
我們可以使用字符串的lstrip方法,它將從字符串的左邊刪除所有“0”。 例如
>>> "44%s"%(s.lstrip("0"))
'447123456789'
如果我們只想考慮字符串中的第一個字符,那么我們可以嘗試以下方法:(在字符串開頭時,如果多於一個“0”,則上述兩個解決方案不會。)
>>> if s[0]=="0":
... s = s[1:]
...
>>> "44%s"%s
'447123456789'
或者選擇jamylak的解決方案
>>> s = '07123456789'
>>> "44%s%s"%(s[0].strip("0"), s[1:])
'447123456789'
另一個可能的選擇:
>>> s = '07123456789'
>>> '44' + s[0].strip('0') + s[1:]
'447123456789'
str.lstrip
最適用於這種情況:
>>> s = '07123456789'
>>> '44'+s.lstrip('0')
'447123456789'
>>> s = '7123456789'
>>> '44'+s.lstrip('0')
'447123456789'
解決這個問題的一種方法是轉換為int
以在開頭刪除零,然后轉換回str
:
s = '07123456789'
s = '44'+str(int(s))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.