簡體   English   中英

從字符串中刪除所有內容。僅在其中保留數字

[英]Remove Everything from a string .. Only Leave Numbers in it

該字符串可能是:

JAIDK392**8'^+%&7JDJ0204İŞÇéS29487

我想從中刪除所有內容,但只留下數字。

一個簡單的方法是使用正則表達式庫re

>>> import re
>>> yourString = "JAIDK392**8'^+%&7JDJ0204İŞÇéS29487"
>>> numberOnlyString = re.sub('[^0-9]', '', yourString)
>>> print numberOnlyString
'39287020429487'

有一種無需使用任何庫即可完成此操作的方法。 您可以使用內置函數ord獲取字符的ASCII碼。 然后,您可以解析字符串中的每個字符以檢查它是否為數字(如果為數字,則其ASCII碼應在47到58之間。

 str = "JAIDK392**8'^+%&7JDJ0204İŞÇéS29487" output = [] for char in str: if 47 < ord(char) < 58: output.append(char) result=''.join(output) print result 

正則表達式很棒,但是另一種方式是:

>>> import string
>>> digits_only = "".join(_ for _ in your_string if _ in string.digits)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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