python3 去除字符串中的数字

来自https://stackoverflow.com/questions/12851791/removing-numbers-from-string

python3:

from string import digits

s = 'abc123def456ghi789zero0'
remove_digits = str.maketrans('', '', digits)
res = s.translate(remove_digits)
# 'abcdefghizero'

或者:

filter(lambda x: x.isalpha(), "a1a2a3s3d4f5fg6h")

还可以:

for i in range(10):
  a.replace(str(i),'')

python2:

from string import digits

s = 'abc123def456ghi789zero0'
res = s.translate(None, digits)
# 'abcdefghizero'

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用正则表达式来去除字符串数字,示例代码如下: import re string = "hello123world456" result = re.sub(r'\d+', '', string) print(result) 输出结果为:"helloworld" ### 回答2: 可以使用正则表达式来去除字符串数字。Python有一个内置模块re专门用于正则表达式操作。我们可以使用re.sub()方法将字符串数字替换为空字符串,从而达到去除数字的效果。 下面是一个示例代码: ```python import re def remove_numbers(text): pattern = r'\d+' # 匹配一个或多个数字 return re.sub(pattern, '', text) # 测试样例 text = "Hello123World456" result = remove_numbers(text) print(result) # 输出: HelloWorld ``` 上述代码,首先使用re.sub()方法将字符串匹配到的数字替换为空字符串。其的正则表达式模式r'\d+'表示匹配一个或多个数字。然后,调用remove_numbers()函数并传入待处理的字符串"Hello123World456",得到的结果就是"HelloWorld",即去除字符串数字。 需要注意的是,上述代码只能去除字符串数字字符,对于汉字数字如一、二等无法去除。如果要考虑替换掉汉字数字,需要添加相应的正则表达式模式。使用re.sub()方法时,可以通过传入不同的模式来实现不同的匹配效果。 ### 回答3: 要去除字符串数字,可以使用正则表达式来实现。 首先导入re模块,然后使用re.sub()函数将数字替换为空字符串。 具体代码如下: ```python import re def remove_numbers(string): pattern = r'\d+' # 正则表达式模式,匹配一个或多个数字 result = re.sub(pattern, '', string) # 将匹配到的数字替换为空字符串 return result # 测试示例 string = 'abc123xyz456' result = remove_numbers(string) print(result) ``` 输出结果为:'abcxyz' 在该示例,通过调用`remove_numbers()`函数,将字符串'abc123xyz456'数字'123'和'456'去除,最终得到结果'abcxyz'。 这里使用了正则表达式模式`'\d+'`,其`\d`匹配一个数字字符,`+`表示匹配一个或多个。 调用`re.sub()`函数时,传入上述模式和待处理的字符串,函数会将符合模式的部分替换为指定的字符串(这里是空字符串)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值