簡體   English   中英

剝離所有東西,直到達到任何數字(0-9)?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM