📜  Python – 保留字符串中的数字

📅  最后修改于: 2022-05-13 01:54:59.193000             🧑  作者: Mango

Python – 保留字符串中的数字

有时,在使用Python字符串时,我们可能会遇到需要删除除整数以外的所有字符的问题。这类问题可以应用于许多数据领域,例如机器学习和 Web 开发。让我们讨论可以执行此任务的某些方式。

方法 #1:使用列表理解 + join() + isdigit()
上述功能的组合可以用来解决这个问题。在此,我们使用 isdigit() 执行提取整数的任务,列表推导用于迭代,而 join() 用于执行过滤后的数字的连接。

# Python3 code to demonstrate working of 
# Retain Numbers in String
# Using list comprehension + join() + isdigit()
  
# initializing string
test_str = 'G4g is No. 1 for Geeks 7'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Retain Numbers in String
# Using list comprehension + join() + isdigit()
res = "".join([ele for ele in test_str if ele.isdigit()])
  
# printing result 
print("String after integer retention : " + str(res)) 
输出 :
The original string is : G4g is No. 1 for Geeks 7
String after integer retention : 417

方法 #2:使用regex()
使用正则表达式也可以找到问题的解决方案。在此,我们制定适当的正则表达式来仅过滤来自字符串的数字。

# Python3 code to demonstrate working of 
# Retain Numbers in String
# Using regex()
import re
  
# initializing string
test_str = 'G4g is No. 1 for Geeks 7'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Retain Numbers in String
# Using regex()
res = re.sub(r'[^\d]+', '', test_str) 
  
# printing result 
print("String after integer retention : " + str(res)) 
输出 :
The original string is : G4g is No. 1 for Geeks 7
String after integer retention : 417