![](/img/trans.png)
[英]Is there a way to strip the end of a string until a certain character is reached?
[英]Strip everything until any number (0-9) is reached?
如何剝離一些數字? 當然,這必須適用於任何數字,而不僅僅是1。
我想blahblahblah 1 main street
作為輸入。 並以1 main street
為輸出。
您可以使用itertools.dropwhile
。 在達到'1'
(或任何其他數字)之前掉落:
from itertools import dropwhile
s = 'blahblahblah 1 main street'
r = ''.join(dropwhile(lambda x: not x.isdigit(), s))
print(r)
# '1 main street'
適用於所有號碼
您可以使用re
模塊的sub
功能替換左側的所有非數字字符。
import re
s = 'blahblahblah 1 main street'
re.sub(re.compile(r'^[^0-9]*'), '', s)
#Outputs '1 main street'
這是一個更簡單的解決方案:
s = "blahblahblah 1 main street"
i = 0
for char in s:
if char.isdigit():
s = s[i:]
break
i += 1
print(s)
只需從您遇到數字的點開始直到字符串結尾處切片原始字符串。
您可以通過簡單使用ASCII代碼來完成此操作。 ASCII的0是48,9是57.所以你可以這樣做:
str = raw_input("Enter a string:")
print(str)
stripstr = ""
flag = 0
for i in range(0, len(str)):
if flag == 1:
stripstr += str[i]
elif ord(str[i]) >= 48 and ord(str[i]) <= 57:
flag = 1
print(stripstr)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.